Jon*_*nny 6 pdf microsoft-word matplotlib
我需要一种方法将高质量的 PDF 图形插入到 Word 中而不会使它们变形。
这些图形大多是通过 Python 和 Matplotlib 生成的科学图表。主要问题是图表中的文本标签无法正确呈现。
我知道您可以将 PDF 作为对象插入,将 EPS 文件作为图像插入,但是这些图形在 Word 中的显示效果非常差。
因此,我当前的工作流程是使用 Inkscape 将图形导出为 300DPI 的 PNG 文件。然而,图形质量仍然不能令人满意,当我提高 DPI 时,质量没有明显的提高。
有人知道在Word中插入高质量图表的好方法吗?
对于光栅图像,您必须在清晰度和尺寸之间找到折衷方案。如果您知道文档将以 600 DPI 打印,您可以决定导入具有该定义的图像。但如果明天您将拥有一台更高清晰度的打印机,您应该重新开始。如果增加 DPI,文档的大小将会增加,并且您的系统将需要更多资源。
如果您可以使用矢量图像,则不会出现与图像定义相关的问题,但您可以找到与安装的字体相关的问题,或者您可以拥有更大的文件,例如绘制 10 亿个数据。 ..
当您必须导入Word内部文件时,您可以:
转到源代码:您可以直接在生成绘图的脚本中替换或添加所需的格式(以及最终的大小)。从 matplotlib 站点读取[ 1 ]。如果可以保存为矢量图形格式就更好了 [ 1b ]。
plt.savefig(pp, format='pdf')
plt.savefig(pp, format='png')
plt.savefig(pp, format='svg')
Run Code Online (Sandbox Code Playgroud)
甚至
fig.savefig('test.pdf')
fig.savefig('test.png')
Run Code Online (Sandbox Code Playgroud)使用 imagemagick [ 2 ]或Inkscape [ 2b ]或gimp [ 2b ]将 pdf 转换为 png(或其他光栅格式、tiff、jpg...)或 svg(或其他矢量图形格式)。
这取决于它是否是内部带有矢量图形[ 3 ]的 PDF 。
在第一种情况下,您应该发现一些罕见的渲染或字体问题,但没有定义问题。
在后一种情况下,您必须选择最终图像的密度和尺寸。
阅读更多内容,例如有关此答案的内容[ 4 ]。
您将完成编写类似于以下内容的内容:
convert file.pdf file.svg # If pdf with vector
convert -density 600 file.pdf -resize 4961x7016 mypic.png # With fixed grid
Run Code Online (Sandbox Code Playgroud)注意:
如果 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
Run Code Online (Sandbox Code Playgroud)
最后但并非最不重要的一点是,考虑LaTex,也许带有 GUI 作为texmaker。
| 归档时间: |
|
| 查看次数: |
17864 次 |
| 最近记录: |