是否可以删除PDF中的嵌入字体并在网页中的服务器中使用它们?

时间:2015-09-07 12:08:24

标签: perl pdflib

与PDF文件中的任何文本相关联的字体都嵌入到PDF文件中,导致文件大小显着增加。

是否可以从PDF文件中删除所有嵌入字体以减小文件大小?相反,我想使用本地计算机或特定位置的字体。我可以使用 Compart DBMill或PDFLib或Perl 来实现这一目标吗?

光栅化文本不是一种选择,因为它会使文本无法访问。

1 个答案:

答案 0 :(得分:2)

看起来CAM::PDF可以做到这一点。它有一个deEmbedFont方法,用于删除对字体的引用,the documentation表示您之后应该使用cleanse来获得大小优势。

  

删除嵌入的字体数据,保持字体引用不变。如果字体存在且1)未嵌入字体或2)成功丢弃嵌入数据,则返回true。如果字体不存在则返回false,否则无法丢弃嵌入的数据。

     

可选的$ basefont参数允许您更改字体。当一些应用程序嵌入标准字体(见下文)并给它一个有趣的名字,如SYLXNP + Helvetica时,这很有用。在此示例中,在去嵌入时将基本名称更改回标准Helvetica非常重要。

     

去嵌入字体不会将其从PDF文档中删除,只是删除对它的引用。要通过丢弃未使用的字体数据来减小尺寸,您应该在此方法之后的某个时间使用以下代码。

$self->cleanse();