在PDF文件中替换文本
Contents
[
Hide
]
在现有PDF文件中替换文本 (facades)
为了在现有的PDF文件中替换文本,您需要创建一个pdfContentEditor类的对象,并使用bindPdf方法绑定一个输入PDF文件。之后,您需要调用replaceText方法。
您需要使用pdfContentEditor类的save方法保存更新后的PDF文件。以下代码片段向您展示如何在现有PDF文件中替换文本。
package com.aspose.pdf.examples;
import com.aspose.pdf.TextState;
import com.aspose.pdf.facades.PdfContentEditor;
import com.aspose.pdf.facades.ReplaceTextStrategy;
public class PdfContentEditorText {
private static String _dataDir = "/home/aspose/pdf-examples/Samples/";
public static void ReplaceText01(){
PdfContentEditor editor = new PdfContentEditor();
editor.bindPdf(_dataDir+"sample.pdf");
editor.replaceText("Value", "Label");
// 保存输出文件
editor.save(_dataDir+"replaced_text_demo.pdf");
}
检查它在原始文档中的样子:
并检查替换文本后的结果:
在第二个示例中,您将看到除了替换文本之外,还可以增加或减少字体大小:
public static void ReplaceText02(){
PdfContentEditor editor = new PdfContentEditor();
editor.bindPdf(_dataDir+"sample.pdf");
editor.replaceText("Value", "Label", 12);
// 保存输出文件
editor.save(_dataDir+"replaced_text_demo.pdf");
}
对于处理文本的更多高级功能,我们将使用TextState方法。使用此方法,我们可以使文本加粗、斜体、着色等。
public static void ReplaceText03(){
PdfContentEditor editor = new PdfContentEditor();
editor.bindPdf(_dataDir+"sample.pdf");
TextState textState = new TextState();
textState.setFontSize(12);
editor.replaceText("Value", "Label", textState);
// 保存输出文件
editor.save(_dataDir+"replaced_text_demo.pdf");
}
在需要替换文档中所有指定文本的情况下,请使用以下代码片段。也就是说,文本的替换将发生在遇到指定替换文本的任何地方,并且还将计算这种替换的次数。
public static void ReplaceText04()
{
PdfContentEditor editor = new PdfContentEditor();
editor.bindPdf(_dataDir + "sample.pdf");
int count = 0;
while (editor.replaceText("Value", "Label")) count++;
System.out.println(count+" 次出现已被替换。");
// 保存输出文件
editor.save(_dataDir + "PdfContentEditorDemo04.pdf");
}
以下代码片段显示了如何进行所有文本替换,但在文档的特定页面上。
public static void ReplaceText05()
{
PdfContentEditor editor = new PdfContentEditor();
editor.bindPdf(_dataDir + "sample.pdf");
int count = 0;
while (editor.replaceText("9999", 2, "ABCDE")) count++;
System.out.println(count+" 次出现已被替换。");
// 保存输出文件
editor.save(_dataDir + "PdfContentEditorDemo05.pdf");
}
在下一个代码片段中,我们将展示如何将给定的数字替换为我们需要的字母。
public static void ReplaceText06()
{
PdfContentEditor editor = new PdfContentEditor();
ReplaceTextStrategy replaceTextStrategy = new ReplaceTextStrategy();
replaceTextStrategy.setRegularExpressionUsed(true);
replaceTextStrategy.setReplaceScope(ReplaceTextStrategy.Scope.ReplaceAll);
editor.setReplaceTextStrategy(replaceTextStrategy);
editor.bindPdf(_dataDir + "sample.pdf");
editor.replaceText("\\d{4}", "ABCDE");
// 保存输出文件
editor.save(_dataDir + "PdfContentEditorDemo06.pdf");
}
}