svg - 是否有可能将 PDF 转换为 SVG2?
问题描述
我有一个包含 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输出。
解决方案
您的 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。
您可能指的icc-color()
是 SVG 1.1 中已弃用的功能。并且已从 SVG2 规范中删除。
我只知道一个支持的软件,icc-color()
那就是 RenderX。看:
但在印刷行业领域可能还有其他软件。
我的问题是是否有任何软件可以将 PDF 文件转换为 SVG2(保持 CMYK 颜色空间)?
鉴于上述情况,我将在专门为印刷行业开发的软件中进行搜索(如果您还没有的话)。Stack Overflow 可能不是最好的地方。
另外,您是否尝试过在Graphich Design Stack Exchange中提问?
祝您搜索顺利。
推荐阅读
- spring-boot - 如何从 freemarker 模板访问 application.properties
- c - 分段错误:在 C 中实现优先级队列
- python - 当我尝试使用“GET”方法从 Binance 获取历史蜡烛时,使用 Binance 的加密交易机器人,回调 > 绑定方法出错
- asp.net-core - 将 gRPC proto 文件定义包含到单个 proto buf 文件中时,为什么会出现 C# 编译器错误?
- graphql - 如何在 graphQL 查询的上下文之外使用 Graphene-Django 序列化 Django 模型
- xcode - React Native 构建在 run-ios 上失败
- ansible - Ansible / jmespath - 字典压缩列表的一维列表
- amazon-web-services - 创建密钥对并使用 Terraform (AWS) 下载 .pem 文件
- javascript - 导航栏不适用于 Intersection Observer API
- python - 将两个列表 l1 x l2 组合成元组