0

Adobe Acrobat 提供了编辑 PDF 文件的功能。我想以编程方式使用此功能,我提供页码并编辑所有文本和/或图像。

有没有办法以编程方式做到这一点?

4

1 回答 1

0

Adobe Acrobat 主要是基于 GUI 的应用程序。尽管 Adob​​e 提供了可用于扩展应用程序功能的Acrobat SDK,但如果您主要关心的是专门使用 Acrobat,则可能值得研究。

如果您正在寻找对 PDF 编辑的编程控制,我建议您考虑使用编程库。例如,我知道LEADTOOLS Redaction SDK(这是我熟悉的,因为我为供应商工作)具有执行您描述的功能。

一般方法(使用 C#)看起来像这样:

从 PDF 中提取特定页面并解析页面中的所有对象

PDFDocument document = new PDFDocument(pdfFileName);
PDFParsePagesOptions options = PDFParsePagesOptions.All; 
document.ParsePages(options, 1, 1); // parses all objects for page 1

document.page这将使用代表 PDF 中的文本和图像的多个PDFObject对象填充每个对象。

然后,您可以使用这些对象的属性循环访问它们,为每个对象添加编辑,如下所示:

AnnRedactionObject redactionObject = new AnnRedactionObject();
redactionObject.Rect = bounds; // corresponding coordinates
redactionObject.Fill = AnnSolidColorBrush.Create("Black");                    
annotations.Add(redactionObject);

最后,添加了编校,最后一步是通过为文档设置编校选项来实现注释:

document.Annotations.RedactionOptions = new DocumentRedactionOptions(); 
document.Annotations.RedactionOptions.ViewOptions.Mode = DocumentRedactionMode.Apply; 
document.Annotations.RedactionOptions.ViewOptions.ReplaceCharacter = '*'; 
document.Annotations.RedactionOptions.ConvertOptions.Mode = DocumentRedactionMode.Apply; 
document.Annotations.RedactionOptions.ConvertOptions.ReplaceCharacter = '*'; 

罐头在查看时将被适当地编辑,document或者可用于编写包含编辑的 PDF。

于 2021-02-04T16:39:56.733 回答