1

谁能告诉我 PDF 文件的控制字符集,以及如何转义它们?我有一个(非放气(膨胀?))PDF 文档,我想在其中编辑文本,但我害怕不小心使用括号和其他东西制作了一些控制序列。

谢谢。

4

2 回答 2

23

好吧,我想我找到了。在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(八进制)

希望这对某人有帮助。

于 2009-02-18T01:53:51.030 回答
1

您可能已经知道这一点,但 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
于 2009-02-18T06:22:55.830 回答