将 LaTeX 生成的 PDF 作为矢量图插入 Word 文档

经验

遇到一个可能是有些小众的需求,要把本来用 $\LaTeX$ 写的算法流程作为矢量图插入到一个 Microsoft Word 文档, 网上找了一下没看到完美的解决方案,研究了一下还是可以实现的,理论上适用于任何 PDF 文件,记录一下。

准备工作

过程中用到的软件

  • Inkscape 一个矢量图编辑软件,官网
  • Krop 一个可以裁切 pdf 文件的软件(不支持 Windows),官网
  • Microsoft Word

流程

假设现在有一个 pdf 文件,比如说用 $\LaTeX$ 编译出来的图表,算法流程图之类的。 下面是把它作为图片插入 Word 文档的流程。

裁切(非必需)

一般来说你的 pdf 文件是 A4 纸大小,关键内容周围都是空白,如果只需要其中的一部分内容,就需要裁切一下。

我感觉比较好用的就是 krop 这个软件,可以自己选一个任意大小的框,或者自动根据内容裁掉四周的空白,很方便。

转 EMF

Word 支持的矢量图格式主要是 emfwmf, 老版本还支持 eps 新版本应该不行了。因此需要把 pdf 转换一下格式,这里用的是 Inkscape.

直接右键 pdf 文件用 inkscape 打开,导入设置推荐选择 从 Poppler/Cairo 导入,不然我这边会有 丢失字体的现象。

打开后直接菜单选择 文件-另存为,选 emf 格式就行了,还会有一堆导出选项,我也不懂不敢瞎说,就用的默认的。

插入

Word 中 插入-图片,选刚才导出的 emf 文件,完成。

更新 2022-03-27

后来经过进一步摸索,发现裁切这一步也可以仅用 Inkscape 完成,现在补充上,步骤如下:

  1. 同样先用Inkscape 打开 pdf 文件
  2. 选择矩形工具,圈出要切的边界
  3. Ctrl+A全选,然后菜单选择 Object - Clip - Set,就完成了裁切
  4. 接下来还需要改变纸张大小,菜单选择File - Document Properties,在右边内嵌的窗口内展开Resize page to content, 按下面的按钮,即可将纸张按照刚才的边界进行裁切(这一步也有快捷键 Ctrl+Shift+R
  5. 完成