【问题标题】:eps image (from inkscape) not showing up in tcpdfeps 图像(来自inkscape)未显示在 tcpdf 中
【发布时间】:2010-03-26 18:17:01
【问题描述】:

使用php和TCPDF生成pdf文件。一切都很好,除非我尝试使用ImageEPS() 将 EPS 图像写入 pdf。什么都没有出现。没有错误(它肯定可以找到文件)。它只是显示为空白。

光栅图像(如 PNG/JPG)工作正常。

我使用Inkscape 来保存.eps 文件。当我在任何其他程序中打开文件时,它打开得很好。它唯一没有出现的 TCPDF。

【问题讨论】:

    标签: php vector eps tcpdf


    【解决方案1】:

    我在 Adob​​e Illustrator 中打开了我的 *.ai 文件,并将该文件保存为“Illustrator 3”版本以解决该问题。任何最新版本都产生了您描述的结果(“Illustrator 8”除外,它为我提供了我的 *.ai 文件的黑白版本)。

    【讨论】:

    • 我也在测试 TCPDF 库,遗憾的是,我发现只有 Illustrator 3 文件有效。我可以确认,当我使用 Illustrator 8 时,它几乎全是黑色(不是黑白,棕色文本通过,但没有矢量图稿颜色),而 Illustrator 9 及更高版本根本无法工作。
    【解决方案2】:

    有点晚了,但我遇到了同样的问题。

    对我来说,解决方法是导出为 PDF 并在 TCPDF/FPDI 中重复使用此 PDF:

    $num_pages = $pdf->setSourceFile(path_to_file);  
    $template_id = $pdf->importPage(1); //if the grafic is on page 1
    $pdf->useTemplate($template_id,$x,$y,$width,$height);
    

    【讨论】:

      【解决方案3】:

      TCPDF (6.0.004) 中的 ImageEPS 功能未完全实现,文档说明如下:

      /**
       * Embed vector-based Adobe Illustrator (AI) or AI-compatible EPS files.
       * NOTE: EPS is not yet fully implemented, use the 
       * setRasterizeVectorImages() method to enable/disable rasterization of 
       * vector images using ImageMagick library.
       * ...
       */
      public function ImageEps(...){/*...*/}
      

      TCPPDF (6.0.004) 为其创建者检查 eps 元数据。如果创建者是 Adob​​e Illustrator,则会进行版本检查,如果版本高于 8,则会生成错误。 不检查 Adob​​e Illustrator 以外的创作者,并允许该功能继续。 TCPDF 似乎没有解析 PS 序言,这可能是并非所有 AI 版本都受支持的原因之一。以下是PostScript Language Reference 关于序言部分的内容:

      • 序言是一组特定于应用程序的过程定义,应用程序 化可以在其脚本的执行中使用。它被包括在每个的第一部分 应用程序生成的 PostScript 文件。它包含匹配的定义 应用程序的输出功能与所支持的功能 PostScript 语言。

      由于prolog没有被解析,所以很难正确解释文件。

      Inkscape (0.48.3.1 r9886) 使用 cairo 创建 epses,不会发生错误,函数将继续。 TCPDF 将部分解释 eps,但由于它不输出任何内容,因此输出可能会被一些错误处理删除。但这只是猜测。

      我在将我的 eps 导出到 svg 方面取得了更大的成功 inkscape -D --file=filename.eps --export-plain-svg=filename.svg 并改用ImageSVG。注意:这个功能也没有完全实现,所以我不能保证它会起作用。我只测试了一个非常基本的 eps。

      【讨论】:

        猜你喜欢
        • 2012-01-14
        • 2012-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多