在 PHP 中编辑 PDF 文档
Contents
[
Hide
]
概述
Aspose.Slides for PHP via Java 允许您通过将 PDF 页面导入为幻灯片、修改演示文稿,然后再导出回 PDF 来编辑 PDF 内容。本文展示了一个简单的文本替换示例。演示文稿保持在内存中,因此保存中间的 PPTX 文件是可选的。
在 PDF 中替换文本
使用SlideCollection::addFromPdf导入页面,使用Presentation::replaceText更新文本,使用Presentation::save导出结果。
以下示例假设 input.pdf 在导入后包含可编辑的单词 “Draft”。它将该单词替换为 “Final”,并写入 edited.pdf。在导入前清除初始幻灯片可防止输出中出现额外的空白页。搜索匹配完整单词且区分大小写;null 表示不需要结果回调。
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\TextSearchOptions;
$presentation = new Presentation();
try {
$presentation->getSlides()->removeAt(0);
$presentation->getSlides()->addFromPdf("input.pdf");
$searchOptions = new TextSearchOptions();
$searchOptions->setWholeWordsOnly(true);
$searchOptions->setCaseSensitive(true);
$presentation->replaceText("Draft", "Final", $searchOptions, null);
$presentation->save("edited.pdf", SaveFormat::Pdf);
} finally {
$presentation->dispose();
}
有关更多选项,请参阅Search and Replace Text和Convert PowerPoint to PDF。
Note
文本替换适用于导入的文本,而不适用于扫描图像中的文本。转换可能影响布局和格式,因此请检查输出,特别是当替换文本比原文本更长时。常见问题
是否需要在导出 PDF 之前保存 PPTX 文件?
不需要。您可以在内存中编辑并导出同一演示文稿。仅在希望继续在 PowerPoint 中编辑时才保存 PPTX 副本;请参阅Save Presentations。
为什么有些文本仍未改变?
示例匹配的是完整单词 “Draft”,且大小写完全一致。以图像形式导入的文本或跨多个文本框的文本可能不会匹配搜索。请检查导入的内容并针对您的文档调整搜索条件。