pdf - 同一个 PDF 文档的打印方式与在屏幕上查看的方式是否不同?

标签 pdf printing view

例如,您向客户发送包含发票的 PDF 文档,您希望他们在屏幕上以彩色查看您的 Logo ,但在打印时,您希望您的 Logo 以可打印的黑白版本打印,是吗?可能的?谢谢你。

最佳答案

有几种方法可以做到这一点。

  • 表单域可以设置为“仅打印”或“仅屏幕”。 “仅图标”按钮字段可以具有任意外观。 Acrobat 的 UI 可以让您导入任何 PDF 页面,而让您生成字段的 API 通常可以让您绘制自己的外观。
  • 可选内容组(又名图层)。 OCG 对于屏幕和打印可以有单独的 ON 和 OFF 状态。 OCG 是一个相对高级的功能,只有更成熟的 API 支持。

  • 我是 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/

    相关文章:

    sql-server - 使用新数据库名称更新 SQL Server 2005 View ?

    python - PDF 中的 Pandoc 语法突出显示不起作用

    javascript - PDF.JS 更改页面部分

    c - 打印此浮点格式

    javascript - 如何在 ruby​​ on rails 中完整打印其 css 的页面?

    ios - Swift: View 隐藏按钮

    c++ - 使用 C++ 创建处理 RTL 语言和复杂脚本的 PDF

    java - 如何在启用嵌入式时间戳和 LTV 的情况下签署 PDF?

    python - 在 Python 中如何打印计算结果,然后将结果保存到变量中?

    iPhone 横向导航返回 Action 显示垂直 View 转换?