Acrobat或任何其他pdf查看器都不会打印连接的行注释

时间:2019-03-05 18:22:43

标签: pdf acrobat

类似于此问题,但是该解决方案不起作用。 Adobe Acrobat Reader doesn't print my drawing on a PDF

我使用Boox Max Carta来编写和注释pdf作品。 注释从电子阅读器导出为类别连接线的pdf注释(注释)。

Here is an example file.

当我打印时,如果选择“文档和标记”-我什么也没得到。

如果我选择摘要注释,那么每个注释都会得到数字,但不会出现乱涂乱画。

Pdf Print annotation failure

我需要做什么来打印带注释的pdf?

是否可以将其展平为图像或其他东西?

解决方案-感谢@mkl查找根本原因

使用Python PyMuPdf库循环浏览页面和注释,并在每个页面和注释中添加一个标记。

""" Recipies used
https://pymupdf.readthedocs.io/en/latest/faq/#how-to-search-for-and-mark-text
https://pymupdf.readthedocs.io/en/latest/faq/#how-to-add-and-modify-annotations
"""

import sys
import fitz
fname = sys.argv[1]                    # filename
doc = fitz.open(fname)
updated_annot_count = 0;
for page in doc:       
    current_annot = page.firstAnnot;                # scan through the pages
    while current_annot:
        current_annot.setFlags(current_annot.flags|fitz.ANNOT_XF_Print)
        current_annot = current_annot.next          # Follow linked list
        updated_annot_count = updated_annot_count+1


if doc:
    doc.save("printable-" + doc.name)

The Pdf renders fine on the computer screen in both Chrome and Adobe Acrobat (2017)

1 个答案:

答案 0 :(得分:3)

所有线描注释(实际上有 Line Square Polygon PolyLine 类型的注释strong>)有 no F 滞后项;因此,它们的注释标记值默认为0,所有标记均已清除。

  

F   整数   (可选; PDF 1.1)一组标志,用于指定注释的各种特征(请参见12.5.3,“注释标志”)。默认值:0。

(ISO 32000-1,表164 –所有注释词典共有的条目)

尤其是打印标志已清除。

  

3   打印   (PDF 1.2)如果已设置,请在打印页面时打印注释。如果清除,则永远不要打印注释,无论注释是否显示在屏幕上。

(ISO 32000-1,表165 –注释标志)

因此,显式创建您的注释以使其永远不会打印。

如果仍然要打印它们,请设置注释的 Print 标志。

这应该是使用任何通用PDF库实现的简单任务。