Acrobat 或任何其他 pdf 查看器都不会打印连接线注释
Acrobat nor any other pdf viewer won't print connected line annotations
与此问题类似,但解决方案无效。
Adobe Acrobat Reader doesn't print my drawing on a PDF
我使用Boox Max Carta来编写和注释pdf作品。
注释从 e-reader 导出为类别连接线的 pdf 注释(注释)。
当我打印时,如果我 select 文档和标记 - 我什么也得不到。
如果我 select 总结评论,那么我会得到每个注释的数字,但没有涂鸦。
打印带注释的 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)
所有的线图标注(实际上还有Line、Square、Polygon, 和 PolyLine) 有 no Flags 条目;因此,它们的注释标志值默认为 0,清除所有标志。
F
integer
(Optional; PDF 1.1) A set of flags specifying various characteristics of the annotation (see 12.5.3, “Annotation Flags”). Default value: 0.
(ISO 32000-1, Table 164 – 所有注释词典共有的条目)
特别是 打印 标志被清除。
3
Print
(PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of whether it is displayed on the screen.
(ISO 32000-1, Table 165 – 注释标记)
因此,您的注释明确创建为 永远不会打印。
如果仍然要打印它们,请设置注释的 打印 标志。
这应该是使用任何通用 PDF 库实现的简单任务。
与此问题类似,但解决方案无效。 Adobe Acrobat Reader doesn't print my drawing on a PDF
我使用Boox Max Carta来编写和注释pdf作品。 注释从 e-reader 导出为类别连接线的 pdf 注释(注释)。
当我打印时,如果我 select 文档和标记 - 我什么也得不到。
如果我 select 总结评论,那么我会得到每个注释的数字,但没有涂鸦。
打印带注释的 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)
所有的线图标注(实际上还有Line、Square、Polygon, 和 PolyLine) 有 no Flags 条目;因此,它们的注释标志值默认为 0,清除所有标志。
F integer (Optional; PDF 1.1) A set of flags specifying various characteristics of the annotation (see 12.5.3, “Annotation Flags”). Default value: 0.
(ISO 32000-1, Table 164 – 所有注释词典共有的条目)
特别是 打印 标志被清除。
3 Print (PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of whether it is displayed on the screen.
(ISO 32000-1, Table 165 – 注释标记)
因此,您的注释明确创建为 永远不会打印。
如果仍然要打印它们,请设置注释的 打印 标志。
这应该是使用任何通用 PDF 库实现的简单任务。