是否可以将PDF转换为SVG2?

时间:2019-09-27 08:29:10

标签: svg ghostscript inkscape

我有一个由1页组成的SVG文档(更名为img1.svg)和PDF文件(doc1.pdf)。 我需要将doc1.pdf(在文档中的某个位置缩放,旋转和放置)插入img1.svg。 为了实现它,我必须将doc1.pdf转换为doc1.svg(可以通过inkscape轻松完成),然后我可以将doc1.svg的内容插入到img1.svg中,这很容易。

但是,如果doc1.pdf包含一些具有CMYK颜色空间的元素怎么办?在这种情况下,inkscape无法生成doc1.svg的正确版本。它创建正确的布局,但是颜色现在是RGB。 我知道可以在SVG2规范中使用CMYK颜色,并且inkscape可以正确导入具有CMYK颜色的元素的SVG2文件。

我的问题是,是否有任何软件可以将PDF文件转换为SVG2(保持CMYK颜色空间)?

我尝试用inkscape和scribus来做,但是总是得到RGB输出。

1 个答案:

答案 0 :(得分:1)

您的SVG是否总是要在浏览器中显示?如果是这样,则可以选择使用<foreignObject>元素在SVG内部显示PDF。

<svg width="400" viewBox="0 0 400 400">

  <foreignObject x="50" y="50" width="300" height="300">
    <body xmlns="http://www.w3.org/1999/xhtml">
      <object type="application/pdf"
        data="sample.pdf" width="300" height="300"></object>
    </body>
  </foreignObject>
  
</svg>

更新

对不起,我没有正确阅读您的问题。

  

我知道可以在SVG2规范中使用CMYK颜色

您在这里指的是什么? SVG 2规范将所有颜色问题推迟到CSS3规范“或其后续版本”。 CSS3规范不支持CMYK颜色。但是,仍在开发中的CSS4规范添加了新的颜色功能:device-cmyk()。但是,还没有浏览器支持AFAIK。

您可能是指SVG 1.1中不推荐使用的icc-color()函数。此后已从SVG2规范中删除。

我只知道一个支持icc-color()的软件,即RenderX。参见:

how can i use cmyk in an svg embeded in html?

但是在印刷行业中可能还有其他软件。

  

我的问题是,是否有任何软件可以将PDF文件转换为SVG2(保持CMYK颜色空间)?

鉴于上述情况,我将在专门为印刷业开发的软件中进行搜索(如果您还没有的话)。堆栈溢出可能不是最好的地方。

还,您是否尝试过在Graphich Design Stack Exchange中提问?

祝您搜索顺利。

相关问题