我在 pdf 生成任务中包含了一个 pdf。是否可以将包含的 pdf 文件中的文本替换为可点击的文本。我的意思是添加文本链接。我要生成的 pdf 应该包含那些可替换的可点击文本。我从包含的 pdf 中提取了一系列链接。我需要为其适当的文本添加链接。
Array(
[0] => Array(
[text] => Text 1
[href] => http://www.example.com
)
[1] => Array
(
[text] => Text 2
[href] => http://www.example.com
)
)
答案1
如果你要实施pdflatex在你的PHP应用程序。对我来说是codeignitor。
步骤1:安装pdflatex。
第 2 步:$ pdfannotextractor --install
在终端中安装 pdfannotextractor
步骤 3:$ pdfannotextractor --version
这将有助于在您的终端中找到 PDFAnnotExtractor 版本。
步骤 4:但是 Pdfannotextractor 还需要 libpdfbox-java 包。否则我们会收到此错误!!! 错误:找不到 PDFBox 库!
步骤 5:您可以从此链接下载 pdfboxhttps://sourceforge.net/projects/pdfbox/files/PDFBox/PDFBox-0.7.3/
步骤6:解压 zip 文件并将解压后的文件夹复制粘贴到您的应用程序中。
步骤 7:按照此代码操作。
$file = '/home/rebin/Downloads/file.pdf';
$pdflatex = '/usr/local/texlive/2016/bin/x86_64-linux/pdflatex';
$pdf_box = BASEPATH.'PDFBox-0.7.3/lib/PDFBox-0.7.3.jar';
$template_file = 'user/join_template.tex';
$new_pdf_filename = 'new_pdf';
$temp_join_file_path = 'user/';
shell_exec("CLASSPATH='".$pdf_box.":%CLASSPATH%' pdfannotextractor ".$file);
$doc = '\documentclass{article}
\usepackage{hyperref}
\usepackage[left=1cm, right=1cm, top=2cm, bottom=2cm]{geometry}
\usepackage{pdfpages}
\usepackage{pax}
\begin{document}
\includepdf[page=-]{' . $file. '}
\end{document}';
file_put_contents($template_file, $doc);
shell_exec($pdflatex . ' -output-directory=' . $temp_join_file_path . ' -jobname=' . $new_pdf_filename . ' -interaction=nonstopmode -shell-escape join_template.tex');
您的 pdf 文件将生成且不包含任何缺失的链接。