我需要一种方法来将高质量的 PDF 图形插入到 Word 中而不使它们失真。
这些图大多是通过 Python 和 Matplotlib 生成的科学图表。主要问题是图中的文本标签无法正确呈现。
我知道您可以将 PDF 作为对象插入,将 EPS 文件作为图像插入,但这些图形在 Word 中的显示效果很差。
因此,我目前的工作流程是使用 Inkscape 将图形导出为 300DPI 的 PNG 文件。但是,图形质量仍然不令人满意,当我增加 DPI 时,质量并没有明显提高。
有人知道在 Word 中插入高质量图表的好方法吗?
答案1
Word 与 PDF 或 Eps 的永无止境的斗争
和光栅图像您必须在清晰度和大小之间找到一个折衷点。如果您知道文档将以 600 DPI 打印,您可以决定导入具有该清晰度的图像。但如果明天您将拥有更高清晰度的打印机,则应该重新开始。如果您增加 DPI,您的文档将增加大小,并且您将需要更多系统资源。
如果你能与矢量图像您不会遇到与图像定义相关的问题,但您可能会发现与安装的字体相关的问题,或者您可能会拥有更大的文件,例如,您绘制 10 亿个数据......
当您必须在 Word 中导入文件时,您可以:
去源头:您可以直接在生成图表的脚本中替换或添加所需的格式(以及最终的大小)。请阅读 matplotlib 网站[1]。如果你能保存在矢量图形格式 [1b]。
plt.savefig(pp, format='pdf') plt.savefig(pp, format='png') plt.savefig(pp, format='svg')
甚至
fig.savefig('test.pdf') fig.savefig('test.png')
使用 imagemagick [2]或者Inkscape [2b]或者瘸子 [2b]将 pdf 转换为 png(或其他光栅格式,tiff、jpg……)或 svg(或其他矢量图形格式)。
这取决于它是否是带有矢量图形[3]内或外。
在第一种情况下,您应该会发现一些罕见的渲染或字体问题,但没有清晰度问题。
在后一种情况下,您必须选择最终图像的密度和尺寸。
阅读更多内容,例如这个答案[4]。
您将完成编写类似以下内容的内容:convert file.pdf file.svg # If pdf with vector convert -density 600 file.pdf -resize 4961x7016 mypic.png # With fixed grid
笔记
如果 PDF 文件是使用具有特定分辨率(例如 300 DPI)的光栅图像创建的,则使用任何将 DPI 增加到 400 或 600 的程序都不会取得太大成功... :-)
根据经验法则(通常有效),您可以假设在光栅 PDF 中有字符串/image
。
因此,例如在 Linux 下,您可以运行grep
并计算该字符串的出现次数:
grep -c -i "/image" *pdf
MyRasterPdf.pdf:3 # > 0 if raster pdf
MyVectorPdf.pdf:0 # = 0 if vector pdf
答案2
答案3
在 Word 2016 中,我导入 matplotlib 图形的工作流程如下:
import matplotlib.pyplot as plt
导出可编辑文本,以便我可以在 Illustrator 中调整图形和文本,默认情况下,matplotlib 导出 Adobe Illustrator 无法理解的“Type 3 字体”,因此您需要导出 Type 2/TrueType 字体。
plt.rcParams['pdf.fonttype'] = 42
plt.rcParams['ps.fonttype'] = 42
保存图形
plt.savefig('my_figure.pdf',bbox_inches='tight',transparent = True)
在 Illustrator 中打开并根据需要进行调整
将图像导出为 .emf
将 my_figure.emf 插入 Word
答案4
通过调整图像压缩设置,从 Word 中删除图像的自动解压功能。Word 具有默认压缩设置,可能会降低图像质量以减小文件大小。要修改这些设置:
- 使用“插入图片”功能将图像插入 Word。
- 右键单击插入的图像并选择“设置图片格式”或“大小和位置”。
- 在“设置图片格式”或“大小和位置”窗格中,选择“压缩”选项。
- 取消选中“仅应用于此图片”框并选择所需的分辨率或目标输出质量。
要调整 Microsoft Word 中的图像压缩设置并确保它以最佳质量保存图像,您可以修改默认设置,以便 Word 在插入图像时不再对图像进行压缩,从而保留其原始质量。
- 打开 Microsoft Word 并单击左上角的“文件”选项卡。
- 从菜单中选择“选项”。这将打开“Word选项”对话框。
- 在Word选项对话框中,单击左侧的“高级”选项卡。
- 向下滚动到“图像大小和质量”部分。
- 在“图像大小和质量”部分下,您将找到“默认分辨率”选项。
- 默认情况下,它设置为“高保真”。但是,您可以选择“不压缩文件中的图像”选项来完全禁用压缩。
- 单击“确定”按钮保存更改。
但是,请记住,这可能会导致文件大小变大,因此请考虑对整体文档大小的影响以及提交的任何文件大小限制。
参考:https://chat.openai.com/share/26d14c16-2cbd-4e48-a50b-523eb7c91732
*** 这个最有效 ***