使用文本注释处理PDF通过Python
Contents
[
Hide
]
如何将文本注释添加到现有的 PDF 文件中
文本注释是附加在 PDF 文档特定位置的注释。关闭时,注释显示为图标;打开时,它应显示一个弹出窗口,其中包含读者选择的字体和大小的注释文本。
注释由特定页面的 Annotations 集合包含。此集合仅包含该单独页面的注释;每个页面都有其自己的注释集合。
要向特定页面添加注释,请使用 add() 方法将其添加到该页面的注释集合中。
-
首先,创建要添加到 PDF 的注释。
-
然后打开输入的 PDF。
-
将注释添加到“页面”对象的Annotations集合中。
以下代码片段演示了如何在PDF页面中添加注释。
import aspose.pdf as ap
document = ap.Document(input_file)
textAnnotation = ap.annotations.TextAnnotation(
document.pages[1], ap.Rectangle(300, 700.664, 320, 720.769, True)
)
textAnnotation.title = "Aspose User"
textAnnotation.subject = "Inserted text 1"
textAnnotation.contents = "qwerty"
textAnnotation.flags = ap.annotations.AnnotationFlags.PRINT
textAnnotation.color = ap.Color.blue
document.pages[1].annotations.append(textAnnotation)
document.save(output_file)
从PDF文件获取文本注释
import aspose.pdf as ap
document = ap.Document(input_file)
textAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.TEXT)
]
for ta in textAnnotations:
print(ta.rect)
从 PDF 文件中删除文本注释
import aspose.pdf as ap
document = ap.Document(input_file)
textAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.TEXT)
]
for ta in textAnnotations:
document.pages[1].annotations.delete(ta)
document.save(output_file)
如何添加(或创建)新的自由文本注释
自由文本注释直接在页面上显示文本。FreeTextAnnotation 类允许创建此类型的注释。在以下代码片段中,我们在字符串首次出现的位置上方添加自由文本注释。
import aspose.pdf as ap
# 加载 PDF 文件
document = ap.Document(input_file)
freeTextAnnotation = ap.annotations.FreeTextAnnotation(
document.pages[1], ap.Rectangle(299, 713, 308, 720, True), ap.annotations.DefaultAppearance()
)
freeTextAnnotation.title = "Aspose User"
freeTextAnnotation.color = ap.Color.light_green
document.pages[1].annotations.append(freeTextAnnotation)
document.save(output_file)
从 PDF 文件获取自由文本注释
import aspose.pdf as ap
document = ap.Document(input_file)
freeTextAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.FREE_TEXT)
]
for fa in freeTextAnnotations:
print(fa.rect)
从 PDF 文件删除自由文本注释
import aspose.pdf as ap
# 加载 PDF 文件
document = ap.Document(input_file)
freeTextAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.FREE_TEXT)
]
for fa in freeTextAnnotations:
document.pages[1].annotations.delete(fa)
document.save(output_file)
使用 StrikeOutAnnotation 删除文字
Aspose.PDF for Python 允许您在 PDF 文档中添加、删除和更新注释。 一种类允许您划掉注释。当在 PDF 中应用 StrikeOutAnnotation 时,会在指定文本上画一条线,以指示该文本应被删除或忽略。
以下代码片段展示了如何向 PDF 添加 StrikeOutAnnotation。
import aspose.pdf as ap
document = ap.Document(input_file)
strikeoutAnnotation = ap.annotations.StrikeOutAnnotation(
document.pages[1], ap.Rectangle(299.988, 713.664, 308.708, 720.769, True)
)
strikeoutAnnotation.title = "Aspose 用户"
strikeoutAnnotation.subject = "插入的文本 1"
strikeoutAnnotation.flags = ap.annotations.AnnotationFlags.PRINT
strikeoutAnnotation.color = ap.Color.blue
document.pages[1].annotations.append(strikeoutAnnotation)
document.save(output_file)
从 PDF 获取 StrikeOutAnnotation
import aspose.pdf as ap
document = ap.Document(input_file)
StrikeoutAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.STRIKE_OUT)
]
for pa in StrikeoutAnnotations:
print(pa.rect)
从 PDF 中删除 StrikeOutAnnotation
import aspose.pdf as ap
document = ap.Document(input_file)
StrikeoutAnnotations = [
a
for a in document.pages[1].annotations
if (a.annotation_type == ap.annotations.AnnotationType.STRIKE_OUT)
]
for pa in StrikeoutAnnotations:
document.pages[1].annotations.delete(pa)
document.save(output_file)