谁能告诉我 PDF 文件的控制字符集,以及如何转义它们?我有一个(非放气(膨胀?))PDF 文档,我想在其中编辑文本,但我害怕不小心使用括号和其他东西制作了一些控制序列。
谢谢。
好吧,我想我找到了。在PDF 1.7 规范(PDF 链接)的第 15 页上,看来我需要担心的唯一字符是括号和反斜杠。
序列 | 意义 --------------------------------------------- \n | 换行 (0Ah) (LF) \r | 回车 (0Dh) (CR) \t | 水平标签 (09h) (HT) \b | 退格(08h)(BS) \f | 换页 (FF) \( | 左括号 (28h) \) | 右括号(29 小时) \\ | REVERSE SOLIDUS (5Ch)(反斜杠) \ ddd | 字符代码ddd(八进制)
希望这对某人有帮助。
您可能已经知道这一点,但 PDF 文件末尾有一个索引,其中包含文档中所有内容的字节偏移量。如果您手动编辑文档,则必须确保您编写的新文本与原始文本具有完全相同的字符数。
如果您想提取 PDF 页面内容并对其进行编辑,这非常简单。我的CAM::PDF库可让您以编程方式或通过命令行执行此操作:
use CAM::PDF;
my $pdf = CAM::PDF->new($filename);
my $page_content = $pdf->getPageContent($pagenum);
# ...
$pdf->setPageContent($pagenum, $page_content)l
$pdf->cleanoutput($out_filename);
或者
getpdfpage.pl in.pdf 1 > page1.txt
setpdfpage.pl in.pdf page1.txt 1 out.pdf