例如,您向客户发送包含发票的 PDF 文档,您希望他们在屏幕上以彩色查看您的 Logo ,但在打印时,您希望您的 Logo 以可打印的黑白版本打印,是吗?可能的?谢谢你。
最佳答案
有几种方法可以做到这一点。
我是 iText 的粉丝(和贡献者),iText 是一个 Java 库,可以同时使用这两种方法。构建仅图标按钮会更容易。
PushbuttonField iconButton = new PushbuttonField(myPdfWriter, rectangle, fieldName);
iconButton.setLayout(PushbuttonField.LAYOUT_ICON_ONLY);
iconButton.setScaleIcon(PushbuttonField.SCALE_ICON_ALWAYS);
iconButton.setVisibility(BaseField.HIDDEN_BUT_PRINTABLE);
PdfImportedPage iconAppearance = myPdfWriter.getImportedPage(pdfReader, pageNum);
iconButton.setTemplate(iconAppearance);
myPdfWriter.addAnnotation(iconButton.getField());
这假定您知道生成 PDF 时要使用的矩形,并且有一个包含黑白 Logo 的 PDF 页面。
注意:iText 在 AGPL 下获得许可,这要求任何有权访问程序的 OUTPUT 的人也可以访问源代码。又名:商业敌对。或者您可以购买商业许可证。以前的版本在 MPL 或 LGPL 下可用,但不再受支持,保存在这样的地方,即使这样,答案也越来越多地“获得更新的版本”。
关于pdf - 同一个 PDF 文档的打印方式与在屏幕上查看的方式是否不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5524101/