Reduzieren Sie die Größe der PDF-Datei in R

8

Ich zeichne einige Daten in R mit den folgenden Befehlen:

%Vor%

Das Ergebnis sieht folgendermaßen aus:

Das Problem, das ich habe, ist, dass die PDF-Datei, die ich bekomme, ziemlich groß ist (25 MB). Ist das eine Möglichkeit, die Dateigröße zu reduzieren? JPEG ist keine Option, weil ich eine Vektorgrafik brauche.

    
alex 15.12.2011, 14:02
quelle

5 Antworten

9

Sehen Sie sich tools::compactPDF an - Sie müssen entweder qpdf oder ghostscript installiert haben, aber es kann einen großen Unterschied zur Größe der PDF-Datei machen.

Beim Lesen einer PDF-Datei von der Festplatte gibt es 3 Optionen für die GostScript-Qualität ( gs_quality ), wie im R Hilfedatei :

  • printer (300dpi)
  • ebook (150dpi)
  • screen (72dpi)

Der Standardwert ist none . Um beispielsweise alle PDFs im Ordner mypdfs/ nach ebook quality zu konvertieren, verwenden Sie den Befehl

tools::compactPDF('mypdfs/', gs_quality='ebook')

    
hadley 16.12.2011 12:39
quelle
6

Sie zeichnen eine Menge Linien oder Punkte. Vektor-Bildformate wie pdf, ps, eps, svg usw. erhalten logische Informationen über all diese Punkte, Linien oder andere Elemente, die die Komplexität erhöhen, was sich in der Größe und der Zeichnungszeit umsetzt, wenn die Anzahl der Punkte zunimmt. Im Allgemeinen sind Vektorbilder in mehrfacher Hinsicht die besten, am kompaktesten, im besten Maßstab und in höchster Qualität. Wenn jedoch die Anzahl der Grafikelemente sehr groß wird, empfiehlt es sich oft, zu einem Rasterbildformat wie png zu wechseln. Wenn Sie zu Raster wechseln, ist es am besten, eine gute Vorstellung davon zu haben, welches Bildformat Sie haben möchten, sowohl in Pixeln als auch in Dingen wie Druckmessungen, um das beste Bild zu erzeugen.

Informationen aus der anderen Richtung, ein zu großes Rasterbild, finden Sie in dieser Antwort .

    
John 15.12.2011 14:41
quelle
4

Eine Möglichkeit, die Dateigröße zu reduzieren, besteht darin, die Anzahl der Werte zu reduzieren. Angenommen, Sie haben einen Datenrahmen namens df :

%Vor%

Ich denke, die einzige andere Alternative in R ist die Erzeugung eines Nicht-Vektors. Außerhalb von R können Sie Acrobat Professional (welches nicht kostenlos ist) verwenden, um das PDF zu optimieren. Dies kann die Dateigröße enorm reduzieren.

    
djq 15.12.2011 18:06
quelle
4

Welche Version von R verwenden Sie? In R 2.14.0 hat pdf() ein Argument compress , um die Komprimierung zu unterstützen. Ich bin nicht sicher, wie viel es Ihnen helfen kann, aber es gibt auch andere Tools zum Komprimieren von PDF-Dateien wie Pdftk und qpdf . Ich habe zwei Wrapper für sie im Paket animation , aber Sie möchten vielleicht direkt die Befehlszeile verwenden.

    
Yihui Xie 15.12.2011 20:55
quelle
1

Schwer zu sagen, ohne zu sehen, wie die Handlung aussieht - poste einen Screenshot?

Ich vermute, es ist eine Menge sehr detaillierter Linien und die meisten Informationen sind wahrscheinlich nicht sichtbar - viele Dinge überschneiden sich oder sehr, sehr kleine Details. Versuchen Sie, Ihre Daten in der einen oder anderen Dimension zu verdünnen. Ich bezweifle, dass du sichtbare Informationen verlierst.

    
Spacedman 15.12.2011 14:46
quelle

Tags und Links