Der beste Weg, um qualitativ hochwertige Figuren in MS Word einzufügen

7114
Jonny

Ich brauche eine Möglichkeit, PDF-Abbildungen in hoher Qualität in Word einzufügen, ohne dass diese verzerren.

Bei den Abbildungen handelt es sich meist um wissenschaftliche Graphen, die mit Python und Matplotlib erstellt wurden. Das Hauptproblem besteht darin, dass die Textbeschriftungen in den Diagrammen nicht richtig dargestellt werden.

Ich weiß, dass Sie PDFs als Objekte und EPS-Dateien als Bilder einfügen können, aber diese Zahlen werden in Word sehr schlecht angezeigt.

Mein aktueller Workflow ist daher, die Zahlen als PNG-Dateien mit 300DPI mit Inkscape zu exportieren. Die Zahlenqualität ist jedoch immer noch nicht zufriedenstellend, und wenn ich die DPI erhöhe, ist keine Qualitätssteigerung erkennbar.

Kennt jemand eine gute Möglichkeit, qualitativ hochwertige Grafiken in Word einzufügen?

5
Jede in pdf erstellte Darstellung kann in einem anderen Format erneut generiert werden, wenn Sie auf das Skript zugreifen können. Mit Imagemagick können Sie die Dimension [in Pixel] angeben (http://www.a4papersize.org/a4-paper-size-in-pixels.php) und ein PNG mit der gewünschten Definition erhalten (z. B. 4961x7016 für A4 600 DPI). . Ich empfehle Ihnen dringend, sich Latex (vielleicht mit einer GUI als Texmaker) anzuschauen. Hastur vor 8 Jahren 0
Vielen Dank. Ich bin mit Latex sehr vertraut, darf es aber nicht benutzen (Seufzer). Mit Inkscape kann ich auch die genaue Ausgabe angeben, aber das Problem ist immer noch, dass in Word die Figur selbst bei 300 dpi nicht richtig gerendert wird. Und die Erhöhung von dpi scheint es nicht besser zu machen. Jonny vor 8 Jahren 1
Imagemagick: Versuchen Sie, um `convert -density 600 file.pdf -resize 4961x7016 mypic.png` herumzuspielen. Dann die Größe ändern, schneiden oder was auch immer. Schauen Sie sich den Link vorher an, um die A4-Pixelgröße zu erhalten, oder suchen Sie im Internet nach dem Buchstabenformat. Sie können 600 und 4961x in Ihrer besten Übereinstimmung ändern. Schau es dir auch hier an (http://superuser.com/a/776958/257269) Hastur vor 8 Jahren 0
Vielen Dank, aber ich denke, der Punkt, den ich zu sagen versuche, ist, dass Word die Zahlen verzerrt. Daher ist die Vorverarbeitung nicht das Problem. In der Zwischenzeit werde ich Imagemagick ausprobieren. Ich habe es gerade installiert. Jonny vor 8 Jahren 0

2 Antworten auf die Frage

3
Hastur

Die endlose Schlacht von Word gegen PDF oder Eps

Bei Rasterbildern müssen Sie einen Kompromiss zwischen Definition und Größe finden. Wenn Sie wissen, dass das Dokument mit 600 DPI gedruckt wird, können Sie entscheiden, Bilder mit dieser Definition zu importieren. Wenn Sie jedoch morgen einen Drucker mit höherer Auflösung haben, sollten Sie erneut beginnen. Wenn Sie die DPI erhöhen, vergrößert Ihr Dokument die Größe und Sie benötigen mehr Ressourcen für Ihr System.

Wenn Sie mit einem Vektorbild arbeiten können, treten keine Probleme mit der Bilddefinition auf. Sie können jedoch Probleme mit der installierten Schriftart feststellen oder eine größere Datei haben, falls Sie beispielsweise 1 Milliarde Daten darstellen. ..

Wenn Sie eine Datei in Word importieren müssen, können Sie:

  • Gehen Sie zur Quelle : Sie können das erforderliche Format (und eventuell die Größe) direkt im Skript, das die Zeichnung erzeugt hat, ersetzen oder hinzufügen. Lesen Sie von der Matplotlib-Site [ 1 ] . Es ist besser, wenn Sie in einem Vektorgrafikformat speichern können [ 1b ] .

    plt.savefig(pp, format='pdf')  plt.savefig(pp, format='png') plt.savefig(pp, format='svg') 

    oder auch

    fig.savefig('test.pdf') fig.savefig('test.png') 
  • Verwenden Sie imagemagick [ 2 ] oder Inkscape [ 2b ] oder gimp [ 2b ], um ein PDF in ein PNG-Format (oder in anderen Rasterformaten, TIFF, JPG ...) oder in ein SVG-Format (oder in ein anderes Vektorgrafikformat) zu konvertieren.

    Dies hängt davon ab, ob es sich um ein PDF mit Vektorgrafik [ 3 ] handelt oder nicht.
    Im ersten Fall sollten Sie einige seltene Wiedergabe- oder Schriftprobleme, aber keine Definitionsprobleme finden.
    Im letzteren Fall müssen Sie eine Dichte und die Abmessungen für das endgültige Bild auswählen.
    Lesen Sie zum Beispiel etwas mehr zu dieser Antwort [ 4 ] .
    Sie werden damit fertig sein, etwas Ähnliches zu schreiben:

    convert file.pdf file.svg # If pdf with vector convert -density 600 file.pdf -resize 4961x7016 mypic.png # With fixed grid 

Hinweis
Wenn die PDF-Datei mit einem Rasterbild mit einer bestimmten Definition erstellt wurde, z. B. 300 DPI, werden Sie mit keinem Programm so viel Erfolg haben, dass der DPI-Wert auf 400 oder 600 erhöht wird :-)
Als Faustregel (es funktioniert normalerweise ) Sie können davon ausgehen, dass in einem Raster-PDF die Zeichenfolge enthalten ist /image.
Unter Linux können Sie beispielsweise grepdie Vorkommen dieser Zeichenfolge ausführen und zählen:

grep -c -i "/image" *pdf MyRasterPdf.pdf:3 # > 0 if raster pdf MyVectorPdf.pdf:0 # = 0 if vector pdf 

Last but not least, LaTex, vielleicht mit einer GUI als Texmaker .

Vielen Dank. Imagemagick bereitet mir jetzt Probleme, so dass ich, sobald ich diese Arbeit habe, eine Böe machen werde. Jonny vor 8 Jahren 0
OK, es scheint zu funktionieren. Ich denke, ich bin auch sehr gespannt auf die Qualität der Ausgabe. Ich bin mir sicher, dass es gut genug ist, auch wenn die Schriftarten leicht verzerrt wirken. Ich werde abwarten, ob sich der Professor beschwert (-; Jonny vor 8 Jahren 0
?!? :) bist du was? Hastur vor 8 Jahren 0
Haha egal. Aber die Ausgabe sieht jetzt viel besser aus. Es ist wirklich perfekt. Ein Hinweis für Leute, die versuchen, dies in der Zukunft zu nutzen. Ich denke, Sie benötigen Ghostscript, das von Imagemagick konvertiert werden kann, damit es ordnungsgemäß funktioniert. Jonny vor 8 Jahren 0
Mein Workflow zum Importieren von Matplotlib-Diagrammen in Word wurde als SVG-Datei gespeichert, in Inkscape geöffnet, als EMF-Datei gespeichert und in Word geöffnet. Auf diese Weise werden die Graphen als Vektorbilder gespeichert, sodass sie in Word scharf und dennoch skalierbar sind. Armon vor 8 Jahren 1
1
chthonicdaemon

Seit Mai 2018 hat Microsoft Word in der Office 365-Edition zwei Änderungen vorgenommen, die die Antwort auf diese Frage ändern:

Dies bedeutet, dass Sie am besten mit qualitativ hochwertigen Grafiken umgehen können, indem Sie in Matplotlib eine Figur erstellen, die die richtige Größe hat (using plt.figure(figsize=(width_in_inches, height_in_inches)), und dann die Figur mit exportieren plt.savefig('filename.svg'). Sie können diese Datei direkt in Word einfügen und sie wird auch bei der Konvertierung in PDF korrekt gerendert.

Dieses Video zeigt den gesamten Prozess und vergleicht die Formate.