我正在使用Ghostscript库API(从C#包装)来从我的应用程序中打印PDF文档。
使用'-dFirstPage'和'-dLastPage'参数,我可以选择要打印的页面范围,但是PDF页面的总数如何呢?
当PDF文档只有4页时,允许用户选择2到10的页面间隔不是很好。
考虑到我正在通过gsapi_init_with_args API库调用使用Ghostscript库。
最佳答案
Ghostscript可以在stdout
上计数并显示PDF的页面数。命令行是
gswin32c ^
-q ^
-dNODISPLAY ^
-c "(input.pdf) (r) file runpdfbegin pdfpagecount = quit"
这里所有的
-c "..."
东西都是PostScript命令行片段(使用一些GS内部命令扩展名)。而input.pdf是PDF文件名(也可以是完整路径,如(c:/path/to/my.pdf)
)。但是,对于这种类型的工作,更好,更快的工具是使用
pdfinfo
(XPDF实用程序的一部分,也可在Windows上使用)。更新:
@ebyrob想知道是否可以修改我的示例命令行,以便它也可以通过一次操作显示PDF。尝试这个:
gswin32c ^
-q ^
-c "(input.pdf) (r) file runpdfbegin pdfpagecount =" ^
-f input.pdf
嗯,这不是一个单一的操作,而是一个命令行中的两个不同的操作。
关于api - Ghostscript:PDF总页数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4826485/