【问题标题】:escaping characters for substitution into a PDF转义字符以替换为 PDF
【发布时间】:2009-02-18 01:20:21
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: pdf escaping


    【解决方案1】:

    好的,我想我找到了。在PDF 1.7 spec(PDF 链接)的第 15 页上,看来我需要担心的唯一字符是括号和反斜杠。

    序列 |意义 --------------------------------------------- \n |换行 (0Ah) (LF) \r |回车 (0Dh) (CR) \t |水平标签 (09h) (HT) \b |退格(08h)(BS) \f |换页 (FF) \( | 左括号 (28h) \) |右括号(29 小时) \\ | REVERSE SOLIDUS (5Ch)(反斜杠) \ddd |字符代码 ddd(八进制)

    希望这对某人有所帮助。

    【讨论】:

    • 这里也一样 - FDF 文件也一样。
    【解决方案2】:

    您可能已经知道这一点,但 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
    

    【讨论】:

    • 谢谢。我并不是一个真正的 Perl 粉丝,所以我实际上最终将邮件与我的原始文档合并以获得我的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-26
    • 2019-11-15
    相关资源
    最近更新 更多