【问题标题】:Does the string <!-FTCACHE-1-> in a PDF file mean anything?PDF 文件中的字符串 <!-FTCACHE-1-> 是否意味着什么?
【发布时间】:2009-04-03 06:18:13
【问题描述】:

我的程序每天从源位置下载 PDF 文件。当我在记事本中看到 PDF 文件的二进制文本时,我发现有时 PDF 文件末尾有字符串 &lt;!-FTCACHE-1-&gt;。有时 PDF 文件中缺少这个词。

我的程序每天下载这个 PDF,并使用 Windiff 二进制比较将它与前一天的 PDF 文件进行比较。

99% 的情况下,Windiff 报告 PDF 文件中的差异只是因为一个 PDF 在末尾包含字符串 &lt;!-FTCACHE-1-&gt;

有人知道这是什么原因吗?

谢谢, 普拉文

【问题讨论】:

    标签: pdf


    【解决方案1】:

    &lt;!--FTCACHE-1--&gt; 是由 FatWire Content Server 生成的,它是一种 Web 内容管理解决方案,可能会生成您的 URL。 FTCACHE 表示 FutureTenseCache,即原始产品组件的名称。该文本是一个“页脚”标志,它向缓存模块指示页面是否正确生成。如果该页面应该被缓存,则 1 表示该页面已正确构建,因此是可缓存的。如果返回 0,则表明该页面已损坏,不应缓存。 Satellite Server 缓存引擎应该在读取此页脚后将其剥离。

    换句话说,确保缓存不损坏的关键是导致 PDF 损坏。

    这个问题已经在 FatWire ContentServer 的补丁中修复了很长一段时间了。

    出于您的目的,请忽略该字符串 - 如果可以,请去掉它。

    对此感到抱歉。那是我的错误。 :-)

    【讨论】:

      【解决方案2】:

      生成 PDF 文件的应用程序存在错误,FTCACHE 标记不应该存在,它不是有效的 PDF 结构。它的存在实际上会损坏 PDF 文件,它会使 PDF 文件中的 FastWebView 功能失效,正如您所见。在比较文件之前删除它是安全的。

      【讨论】:

        【解决方案3】:

        “FT”可以是FreeType,开源字体引擎。评论可能来自生成 PDF 的软件。如果您能以某种方式确定这一点,您可以(假设它是开源的)或许可以浏览一下它,看看是什么导致它发出评论。

        FreeType 有一个source folder 专用于缓存,那里的根源文件称为ftcache.c。不过它并没有做很多事情,只是 #includes (!) 其他源文件。

        在您看到的字符串上进行谷歌搜索,可以发现几个或多或少随机的 PDF:s 似乎包含它。

        【讨论】:

        • 我通过进一步分析发现,如果我从文件中删除此字符串并检查文件属性,则快速 Web 访问变为真。如果我再次添加它,那么快速 Web 访问将变为错误。那么在下载文件时是否存在某些情况下快速 Web 访问是对还是错?
        猜你喜欢
        • 2017-03-02
        • 2016-04-06
        • 2017-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-05
        • 1970-01-01
        相关资源
        最近更新 更多