确定属性,例如在iTextSharp中PDF是Simplex还是Duplex
本文关键字:PDF Simplex Duplex 还是 iTextSharp 属性 | 更新日期: 2023-09-27 17:59:23
我正在使用iTextSharp阅读和管理PDF文档。例如为背景或徽标和背景冲压覆盖物。PDF是声明文件,所以我不能举一个例子。我想知道如何查看PDF的设置,看看PDF文件是Simplex还是Duplex,以及诸如此类的信息。如有任何帮助或建议,我们将不胜感激。目前,我测试第二页的某些标准,这是一种糟糕的方法。提前感谢,编码快乐!
双工模式存储在文档的/ViewerPreferences
字典中的/Duplex
键下。它支持三个值,/DuplexFlipLongEdge
、/DuplexFlipShortEdge
和/Simplex
。您可以使用以下代码来检查:
//Assume false by default since this was introduced in PDF 1.7
Boolean isDuplex = false;
//Bind a reader to our file
using (var r = new PdfReader(testFile)) {
//Get the view preferences
var prefs = r.Catalog.GetAsDict(PdfName.VIEWERPREFERENCES);
//Make sure we found something
if (prefs != null) {
//Get the duplex key
var duplex = prefs.Get(PdfName.DUPLEX);
//Make sure we got something and it is one of the duplex modes
isDuplex = (duplex != null && (duplex.Equals(PdfName.DUPLEXFLIPLONGEDGE) || duplex.Equals(PdfName.DUPLEXFLIPSHORTEDGE)));
}
}
两年后我知道了,但我只是花了几个小时搜索,找到了这个。。。但最终发现。。。
我创建了一个运行此脚本的按钮(如果可用,会弹出双面打印预选的打印机对话框…请注意,选择另一台打印机会擦除此预选。如果您按此方式翻转,也会将"长"更改为"短"…q8)
var pp = this.getPrintParams();
pp.DuplexType = pp.constants.duplexTypes.DuplexFlipLongEdge;
this.print(pp);