在 MS Word 中插入高质量数字的最佳方法

Jon*_*nny 6 pdf microsoft-word matplotlib

我需要一种方法将高质量的 PDF 图形插入到 Word 中而不会使它们变形。

这些图形大多是通过 Python 和 Matplotlib 生成的科学图表。主要问题是图表中的文本标签无法正确呈现。

我知道您可以将 PDF 作为对象插入,将 EPS 文件作为图像插入,但是这些图形在 Word 中的显示效果非常差。

因此,我当前的工作流程是使用 Inkscape 将图形导出为 300DPI 的 PNG 文件。然而,图形质量仍然不能令人满意,当我提高 DPI 时,质量没有明显的提高。

有人知道在Word中插入高质量图表的好方法吗?

Has*_*tur 4

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')
    
    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