我正在使用Ghostscript库API(从C#包装)从我的应用程序中打印PDF文档 使用' -dFirstPage '和' -dLastPage '参数,我可以选择要打印的页面范围,但是PDF页面的总数如何? ?
允许用户选择2到10之间的页面间隔并不是很好,我说,PDF文档只有4页。
考虑我通过 gsapi_init_with_args API库调用使用Ghostscript库。
答案 0 :(得分:37)
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
嗯,这不是一个单一的操作 - 它只是在一个命令行中的两个不同的操作。
答案 1 :(得分:1)
我试着制作这个剧本:
gswin32c ^
-q ^
-c "(input.pdf) (r) file runpdfbegin pdfpagecount =" ^
-f input.pdf
在 c#wrapped 解决方案中工作并不断收到错误“/ undefinedfilename”。在这种情况下,请确保您的文件路径具有斜杠“/”作为DirectorySeperator而不是反斜杠“\”。我知道Kurt Pfeifle已经写过了,但它发生在我身上,我只是忽略了它。