PDF中伪代码、原理示意图等导出为矢量图

需求:将 LaTeX 中生成的伪代码 PDF 转换成 svg 或 emf 格式的矢量图,然后插入 Word 或 PPT 中。

1 伪代码PDF导出为矢量图

1.1 通过 Adobe Illustrator 处理将

  1. 先新建一个空白的PDF,然后文件-->置入导入PDF;
    在这里插入图片描述
    2.选中这个图片,然后对象-->拼合透明度,并在弹出的选择框中进行设置,将图片曲线化;

3.选中这个文件,文件-->导出-->导出为,根据需要导出选择 svg 或者 emf 格式。

不知道为啥,感觉 Adobe Illustrator 导出 svg 的效果比导出emf图片的效果好很多。 后续如果需要 emf 格式的,可将 svg 图片插入 PPT 中,然后通过 右键-->另存为,得到 emf 格式的图片。(使用 PPT 中图片另存为来更改图片格式,真的好用。)

1.2 通过 Inkscape 处理

注意: Win 11 上使 1.3.2 版本打开 PDF 程序会卡死,而 1.2.2 版本能正常打开 PDF 进行处理。在 Ubuntu 20.4 上使用 1.3.2 版本能正常打开 PDF 进行处理。

操作参考视频:论文技巧 用overleaf latex 生成论文的算法伪代码再用inscape插入到word文档

  1. 通过Inkscape打开PDF文件,选择从Poppler/Cairo导入;


2. 文件-->另存为,选择纯 svg 格式或 emf 格式即可;

关于 Win 11 系统中无法使用 Inkscape 1.3.2 打开 PDF 的补充

参考链接:1.3 and 1.3.1 are very very slow opening a small PDF file

上面链接中,帖子的 #32 楼,有大神最后说可能是系统语言的问题,如果将系统语言改为英语应该就能够打开 PDF 文件了。

但是在我们仅仅是想用它将 PDF 转换为 SVG,不想改系统语言啊。好在,帖子中同样给出了其他方法:通过 CMD 命令行的方法来调用 Inkscape 来打开 PDF,甚至是直接通过命令行,调用 Inkscape 完成 PDF 到 SVG 的转换。

(1)首先,需要将 Inkscape 的路径,添加到电脑的环境变量中;

在这里插入图片描述
(2)在需要转换的 PDF 所在路径,打开终端;

输入命令:inkscape .\test.pdf

如果这样做来打开 PDF 文件,记住在手动保存文件之前不要关闭 PowerShell 窗口(否则 Inkscape 窗口将一起关闭)。
在这里插入图片描述
(3)然后就能看到熟悉的导入文件时的设置窗口,不过是英文界面的;

在这里插入图片描述
(4)然后,能正常进入 Inkscape 的编辑界面,还是英文界面的;导出操作就和之前的一样了, 文件-->另存为,选择纯 svg 格式或 emf 格式即可。

(5)也可以直接在终端中完成 PDF 到 svg 文件的转换,而不用打开 GUI 界面进行操作;

在我的测试中,下面这两个命令,都能正确导出所需的 svg 格式文件。如果需要导出 emf 格式文件的话,仅需要将命令中的 svg 修改为 emf 即可。

inkscape --export-type=svg .\test.pdf
inkscape --export-type=svg --pdf-poppler .\test.pdf

如果,需要转换的 PDF 文件含有多页,则需要再添加参数 --pages=all

inkscape --export-type=svg --pages=all .\test.pdf

参考链接中说,使用参数 --pdf-font-strategy=keep--pdf-font-strategy=substitute 能够控制,PDF 文件在转换格式过程中,是保留还是替换导出文件中缺少的字体。但是,我在测试时,无论使用这两个参数中的哪一个,字体都会被替换。可能是自己哪里没搞对吧。所以,不不建议使用参数 --pdf-font-strategy;但是也可以自己试一下,万一只是我自己的环境有问题导致的失败呢。

inkscape --export-type=svg --pdf-font-strategy=keep --pages=all .\test.pdf
inkscape --export-type=svg --pdf-font-strategy=substitute --pages=all .\test.pdf

1.3 通过在线工具处理

这里提供 2 种方法:一种是直接使用在线工具;另一种是先预处理一下PDF文件,然后再使用在线工具。

(1)直接使用在线的格式转换工具,将PDF转为SVG格式

推荐使用网站:

通过这些网站可将 PDF 格式的伪代码转换为 SVG 格式矢量图,且图片中的字体不会发生变换。测试的其他几个工具在转换时,图片中的字体会发生改变。

注意: 这里提供的网站仅适用于将 PDF 转换为 SVG 格式。

(2)先将 PDF 曲线化,然后再利用在线格式转换工具

通过 Adobe Illustrator 或 Inkscape 处理得到矢量图片的过程,其实也是将字体曲线化以后,再导出为矢量图片的。

先将PDF曲线化,然后再使用在线工具进行格式转换,即可避免字体的改变。

下面提供 3 种 PDF 曲线化操作(这 3 种操作基本一致,大同小异):

注意:
(1)方法二和方法三,如果不先添加背景或水印,而是直接操作拼合器预览是没有效果的。
(2)有些人可能使用印刷制作中的工具时会弹出报错,这是因为没有安装相关工具。需要重新安装 Adobe Acrobat DC 软件,在安装过程中需要手动勾选安装 印前检查 组件选项。

这里提供方法一的操作步骤:

  1. 工具中的印刷制作;
    在这里插入图片描述
  2. 印前检查;然后另存为PDF;检查结果输出(直接关掉就行);

PDF 转曲后,再使用在线格式转换工具,得到 svg 格式或 emf 格式文件。有的时候看起来 emf 图片效果不好,可以尝试将其导出 PPT 中,然后右键取消组合或右键编辑图片或右键转换为形状后(取决于图片是什么格式的,有那个选项就选哪个就好),可能图片的效果就好了,但也不一定,也可能这样处理后格式又变了。有的在线工具,就是效果不好,建议换其他的试一下。

尝试下来,感觉转 svg 的效果会更好一些。如果确实需要 emf 格式。可以将 svg 插入 PPT 中,然后选中图片右键将其导出为 emf 格式。

PDF转 svg 工具

PDF转 emf 工具

1.4 导出矢量图效果

直接从LaTex中导出的伪代码PDF效果。


如果矢量化的方式不合适,会导致字体的变化。


与原PDF一致


字体发生了改变

2 对于 PDF 中矢量格式示意图提取

有时看到论文中好看的矢量图,想提取出来保存或修改使用。

一些参考教程,如下:

2.1 通过 PPT 处理

通过将 PDF 另存或导出为 PPT 格式,即可在 PPT 获取到论文中的矢量图。需要选中图片以后,多次取消组合,才能进行编辑。

优点: 方便,且文档的整体排版和原文档相比,保留较好。
缺点: 存在图形部分分解不彻底,部分不能编辑的情况。

2.2 通过 Adobe Illustrator 或 Inkscape 处理

在软件中 Adobe Illustrator 中,打开 PDF 文件,通过多次的释放剪切蒙版和取消编组就能够进行编辑了。

优点: 对矢量图像保留的较好。
缺点: 除了图形以外的文字,由于字体缺失等原因和原来的文档有较大出入。

2.3 通过 Adobe Acrobat DC 软件处理

使用 Adobe Acrobat DC 中的编辑功能,可以直接框选图片,然后将其复制粘贴到 PPT 或 Adobe Illustrator 等软件中进行处理。

或在 Adobe Acrobat DC 中将所需图片单独复制到一个空白 PDF 上,并导出。然后利用在线格式转换工具,得到该图片的 svg 文件。 操作过程的大致过程,可参考这篇文章:如何提取PDF里的矢量图?。虽然这篇文章中使用的是福昕,但 Adobe Acrobat DC 中的操作也是类似的。

3 一些额外说明

  • 将 PDF 导出为 PPT,图片另存为 emf 格式,插入 word,并将文档导出为 PDF。此 PPT 图片中的文字仍然能被选中,说明其为文字。但其他方法得到的 SVG 图片,由于字体的缺失(文字已经曲线化了,不再试文字),最终的 PDF 文件选中这些文字。

  • 如果 PDF 的字体本机是存在的,则用 Adobe Illustrator 导出 SVG 文件时不用曲线化,可以得到文字仍然是文字的 SVG 图片。

  • 将 PDF 导出为 PPT 真的好用,文档的格式能得到很大程度的保留。

  • 将图片插入 PPT 然后再另存为其他格式的操作也真的好用。

  • 12
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值