ich möchte ein PDF-Dokument in ein pdflatex-Dokument einbinden.
Das Problem ist, dass das PDF ein A4-Dokument mit einem im Vergleich zur
Papiergröße kleinen Diagramm ist. Ich würde gerne das pdf so ändern, dass
es nur das Diagramm und nicht den weißen Bereich darum umfasst (weil sonst
TeX das Dokument alleine auf eine Seite packt).
Wäre nett wenn jemand einen Tipp hätte.
Danke,
--
Felix Natter
Sicher, dass es DinA4 ist? Oder hat da ein Programm das Diagramm auf
eine A4-Seite geklebt?
Wo kommt das Diagramm denn her?
Kann man das irgendwo (zum Testen) herunterladen?
Da gibt es mehrere Wege:
1. Mit pdfcrop den weißen Rand abschneiden.
http://www.ctan.org/tex-archive/support/pdfcrop/
Das ist ein Perl-Skript. Das rechnet die Bounding Box mit Hilfe von
Ghostscript aus und setzt dann die Bounding Box neu.
2. Direkt in LaTeX den Viewport auswählen.
\includegraphics[viewport=100 100 200 200,clip]{meinbild}
Den Viewport (in Postscript-Koordinaten, erst Ecke unten links, dann
Ecke oben rechts) bekommt man mit gv ratzfatz raus. PDF in ghostview
laden, über die Ecken mit der Maus fahren, unten Koordinaten ablesen.
Ralf
Zum Einfügen von Grafiken -- wir sehen das PDF-Dokument als eine solche
an -- verwendet man üblicherweise und auch in diesem Fall die Anweisung
\includergraphics. Um nur einen Teil darzustellen, kann man die Optionen
"viewport" oder "trim" und "clip" benutzen. Beispiel:
\includegraphics[page=1,viewport=100 50 200 75,clip]{datei}
Näheres siehe "grfguide.pdf". In ähnlicher Weise kann man auch die
Anweisung \includepdf aus dem Paket "pdfpages" einsetzen. Dies lohnt
sich aber eher bei seitenfüllenden oder vielen gleichartigen Seiten.
...Rolf
> hallo,
>
> ich möchte ein PDF-Dokument in ein pdflatex-Dokument einbinden.
>
> Das Problem ist, dass das PDF ein A4-Dokument mit einem im Vergleich zur
> Papiergröße kleinen Diagramm ist. Ich würde gerne das pdf so ändern, dass
> es nur das Diagramm und nicht den weißen Bereich darum umfasst (weil sonst
> TeX das Dokument alleine auf eine Seite packt).
Ich mag Inkscape dafür.
Jan
> Felix Natter schrieb:
>> hallo,
>>
>> ich möchte ein PDF-Dokument in ein pdflatex-Dokument einbinden.
>>
>> Das Problem ist, dass das PDF ein A4-Dokument mit einem im Vergleich zur
>> Papiergröße kleinen Diagramm ist. Ich würde gerne das pdf so ändern, dass
>> es nur das Diagramm und nicht den weißen Bereich darum umfasst (weil sonst
>> TeX das Dokument alleine auf eine Seite packt).
Vielen Dank für alle Antworten. pdfcrop wäre am einfachsten, aber wie bringe ich
ihm landscape bei? Wenn ich einfach pdfcrop test.pdf test.pdf aufrufe, dann
macht er aus dem Dokument ein portrait-Dokument, skaliert es hoch,
und schiebt es herum, so dass nur ein Teil sichtbar ist.
Das PDF ist hier:
http://www2.inf.fh-brs.de/~fnatte2s/test.pdf
Vielen Dank,
> Zum Einfügen von Grafiken -- wir sehen das PDF-Dokument als eine solche
> an -- verwendet man üblicherweise und auch in diesem Fall die Anweisung
> \includergraphics. Um nur einen Teil darzustellen, kann man die Optionen
> "viewport" oder "trim" und "clip" benutzen. Beispiel:
>
> \includegraphics[page=1,viewport=100 50 200 75,clip]{datei}
>
> Näheres siehe "grfguide.pdf". In ähnlicher Weise kann man auch die
> Anweisung \includepdf aus dem Paket "pdfpages" einsetzen. Dies lohnt
> sich aber eher bei seitenfüllenden oder vielen gleichartigen Seiten.
>
> ...Rolf
--
Felix Natter
Das PDF ist hier:
http://www2.inf.fh-brs.de/~fnatte2s/test.pdf
Ich werde jetzt mal den Vorschlag mit ghostview + viewport= versuchen.
Danke,
--
Felix Natter
hallo,
Danke für den Vorschlag. Ich habe das gerade mit oben links und unten rechts
(das meintest du wahrscheinlich, ul/or war IMHO falsch) mit "gv test.pdf"
probiert, aber es passt noch nicht genau (nur ungefähr ein Drittel des Bildes
drauf):
\includegraphics[width=0.9\textwidth,viewport=50 83 547 765,clip]{test.pdf}
Falls du es probieren möchtest, das PDF ist hier:
http://www2.inf.fh-brs.de/~fnatte2s/test.pdf
Vielen Dank,
--
Felix Natter
Wie erzeugst du das PDF-Dokument denn? Sieht fast so aus als könnte es
gnuplot sein, dessen Postscript-Ausgabe dann nach pdf konvertiert wurde.
In dem Fall könntest du zuerst das eps beschneiden (mit epstool, siehe
z.B. <6ik5t6F...@mid.dfncis.de>) und dann erst nach pdf konvertieren.
Wäre natürlich einfacher, wenn du uns mitteilst _wie_ das PDF erzeugt
wurde :-)
Frohes Schaffen,
Christoph
Weißt du vielleicht wie ich aus einem inkscape-.svg ein zugeschnittenes PDF
für pdflatex mache?
Ich benutze Version 0.44.1 und wenn ich als PDF speichere kommt nichts
brauchbares dabei heraus. z.B.:
http://www2.inf.fh-brs.de/~fnatte2s/arch.svg
Im Moment exportiere ich ein riesiges Bitmap...
Danke!
--
Felix Natter
Datei/Dokumenteneinstellungen/"Seite in Auswahl einpassen"
Dann wird die Seite genauso groß wie das gerade aktive Objekt.
Save as.../"PDF via Cairo"
> Ich benutze Version 0.44.1 und wenn ich als PDF speichere kommt nichts
> brauchbares dabei heraus. z.B.:
> http://www2.inf.fh-brs.de/~fnatte2s/arch.svg
> Im Moment exportiere ich ein riesiges Bitmap...
>
> Danke!
Tut hier super.
--
Mit freundlichen Grüßen
Holger Jeromin
Ja, es war wirklich ein gnuplot-Diagramm (Treiber postscript), mit ps2pdf
konvertiert. Ich habe jetzt mal gnuplot eps generieren lassen und mit epstopdf
konvertiert und es klappt super :-)
Danke,
--
Felix Natter
Ein anderer Post hat mich auf die Idee gebracht, eps zu exportieren und epstopdf
zu verwenden. Klappt wunderbar, nur die Schriften sind nicht ganz so schön.
Oder wie würdest du es machen?
Danke,
--
Felix Natter
Was ist an den Schriften nicht so schön? Ob du 'ps' oder 'eps' nimmst
ändert doch nichts an den Schriften.
Kennst du übrigens die Option 'enhanced' bei dem gnuplot Postscript Treiber?
Frohes Schaffen,
Christoph
Nein, das ist richtig.
> mit "gv test.pdf"
> probiert, aber es passt noch nicht genau (nur ungefähr ein Drittel des Bildes
> drauf):
> \includegraphics[width=0.9\textwidth,viewport=50 83 547 765,clip]{test.pdf}
>
> Falls du es probieren möchtest, das PDF ist hier:
> http://www2.inf.fh-brs.de/~fnatte2s/test.pdf
Kein Wunder, das hat folgende Zeile drin "/Rotate 90". Das ist eine
globale Transformation, ältere pdfTeX-Versionen berücksichtigen das nicht
http://www.ntg.nl/pipermail/ntg-pdftex/2003-September/000281.html
und erfordern dann eine Spezialbehandlung:
Da muss man so vorgehen:
1. in ghostview das PDF laden, aber die *Hochformat*-Ansicht (Portrait)
wählen
2. *Jetzt* die Ecken ausmessen:
untere linke Ecke -> 49 72
obere rechte Ecke -> 548 761
Und dann die x-y Koordinaten jeweils tauschen:
==========================================================
\documentclass{minimal}
\usepackage{graphicx}
\begin{document}
\fbox{\includegraphics[viewport= 72 49 761 548, clip,
width=0.9\textwidth]{test.pdf}}
\end{document}
==========================================================
Bei neueren pdfTeX dürfte das gefixt sein.
Im übrigen: Ganz neue gnuplot-Versionen, die gegen pdflib gelinkt sind,
generieren auch direkt PDF.
http://www.gnuplot.info/docs/gnuplot.pdf
-> 50.51 Pdf
-> 53 External Libraries
Der Weg über EPS und epstopdf dürfte aber wirklich an dieser Stelle der
bequemste sein.
Ralf
> Rolf Niepraschk <Rolf.Ni...@gmx.de> writes:
>
> > Felix Natter schrieb:
> >> hallo,
> >>
> >> ich möchte ein PDF-Dokument in ein pdflatex-Dokument einbinden.
> >>
> >> Das Problem ist, dass das PDF ein A4-Dokument mit einem im Vergleich zur
> >> Papiergröße kleinen Diagramm ist. Ich würde gerne das pdf so ändern, dass
> >> es nur das Diagramm und nicht den weißen Bereich darum umfasst (weil sonst
> >> TeX das Dokument alleine auf eine Seite packt).
>
> Vielen Dank für alle Antworten. pdfcrop wäre am einfachsten, aber wie bringe ich
> ihm landscape bei? Wenn ich einfach pdfcrop test.pdf test.pdf aufrufe, dann
> macht er aus dem Dokument ein portrait-Dokument, skaliert es hoch,
> und schiebt es herum, so dass nur ein Teil sichtbar ist.
Aus dem README von pdfcrop:
| D. REQUIREMENTS
| ===============
| * Ghostscript (>= 8.0 if PDF file contains rotated pages)
| [...]
Aus der GhostScript-Doku:
| Version 8.00 (2002-11-21)
Die allererste Version von pdfcrop ist nur ein ganz klein wenig älter:
| 2002/10/30 v1.0: First release
| [...]
| 2002/11/29 v1.4: [...]
Damit sollte seit beinahe *sechs* Jahren pdfcrop kein Problem mehr
mit rotierten Seiten gehabt haben.
Viele Grüße
Heiko <ober...@uni-freiburg.de>
> Damit sollte seit beinahe *sechs* Jahren pdfcrop kein Problem mehr
> mit rotierten Seiten gehabt haben.
Das kann ich leider nicht bestätigen, denn mit den bei mir
installierten Versionen
PDFCROP: 1.13, 2008/07/24
Ghostscript: 8.62
perl, v5.10.0 built for i586-linux-thread-multi
und der Musterdatei des OP tritt der von ihm beschriebene Fehler
ebenfalls auf.
Gruß -- Olaf Meltzer
Bei mir nicht, bei denselben Versionen von pdfcrop und Ghostscript.
pdfTeX ist 1.40.9.
http://www.informatik.uni-freiburg.de/~oberdiek/tmp/fnmatte2s-crop.pdf
Viele Grüße
Heiko <ober...@uni-freiburg.de>
>> und der Musterdatei des OP tritt der von ihm beschriebene Fehler
>> ebenfalls auf.
>
> Bei mir nicht, bei denselben Versionen von pdfcrop und Ghostscript.
> pdfTeX ist 1.40.9.
Hier pdfTeX 3.1415926-1.40.9-2.2 (Web2C 7.5.7)
Rätsel der Technik.
Gruß -- Olaf Meltzer
> * Heiko Oberdiek schrieb:
>
> >> und der Musterdatei des OP tritt der von ihm beschriebene Fehler
> >> ebenfalls auf.
> >
> > Bei mir nicht, bei denselben Versionen von pdfcrop und Ghostscript.
> > pdfTeX ist 1.40.9.
>
> Hier pdfTeX 3.1415926-1.40.9-2.2 (Web2C 7.5.7)
pdfTeX bindet das Bild bereits gedreht ein, AFAIK auch beim OP.
Ghostscript spuckt bei mir als BoundingBox aus:
gs862 -sDEVICE=bbox -dBATCH -dNOPAUSE fnmatte2s.pdf
%%BoundingBox: 75 50 755 534
%%HiResBoundingBox: 75.524060 50.076350 754.955696 533.520054
Das ist auch das Bild nach der Drehung.
Wie sieht das bei dir aus?
Viele Grüße
Heiko <ober...@uni-freiburg.de>
> Wie sieht das bei dir aus?
Zunächst mal beim ursprünglichen Bild mit dem überflüssigen Rand.
gs -sDEVICE=bbox -dBATCH -dNOPAUSE test.pdf
GPL Ghostscript 8.62 (2008-02-29)
[...]
%%BoundingBox: 0 0 0 0
%%HiResBoundingBox: 0.000000 0.000000 0.000000 0.000000
Nach Behandlung mit pdfcrop, vollständig zitiert:
[16:46] olaf@linux-96xd:~/Downloads/test>
gs -sDEVICE=bbox -dBATCH -dNOPAUSE test-crop.pdf
GPL Ghostscript 8.62 (2008-02-29)
Copyright (C) 2008 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file COPYING for
details.
Processing pages 1 through 1.
Page 1
**** Warning: File has an empty MediaBox. Using the current page
size instead.
**** Warning: File has an empty MediaBox. Using the current page
size instead.
Loading NimbusSanL-Regu font
from /usr/share/ghostscript/fonts/n019003l.pfb... 3305228 1273194
3943324 2648614 3 done.
%%BoundingBox: 75 50 755 534
%%HiResBoundingBox: 75.524060 50.076350 754.955696 533.520054
**** This file had errors that were repaired or ignored.
**** The file was produced by:
**** >>>> pdfTeX-1.40.9 <<<<
**** Please notify the author of the software that produced this
**** file that it does not conform to Adobe's published PDF
**** specification.
kpdf und Acrobat Reader zeigen das Resultat jetzt als wenige Pixel
hohen, waagrecht liegenden weißen Balken. Seltsam: Als ich dasselbe
test.pdf vorhin mit pdfcrop bearbeitet hatte, zeigten kpdf und
Acrobat Reader das Resultat dann aufrecht (potrait), wobei im unteren
Bereich des Bildes der linke Teil des ursprünglichen Bildes in
ursprünglicher Größe lag.
Um ganz sicherzugehen, daß wir über dieselben Dateien Reden, hab ich
diese eben nochmal geholt,
wget http://www2.inf.fh-brs.de/~fnatte2s/test.pdf
und das Experiment mit pdfcrop und ghostscript wiederholt. Dasselbe
Ergebnis.
Gruß -- Olaf Meltzer
Ergänzend noch eine Merkwürdigkeit:
[17:15] olaf@linux-96xd:~/Downloads/test> ll
insgesamt 8
-rw-r--r-- 1 olaf users 3099 12. Sep 17:14 test-crop.pdf
^^^^
-rw-r--r-- 1 olaf users 2513 11. Sep 12:11 test.pdf
^^^^
Gruß -- Olaf Meltzer
Das ist schon mal enorm seltsam, das heißt nämlich, dass das Bild
keinerlei bedruckten Bereich enthält (Die Zahlen sind die Koordinaten
der linken unteren under der rechten oberen Ecke). Entweder Bug in GS
oder komisches Bild
Christian
>> %%BoundingBox: 0 0 0 0
>> %%HiResBoundingBox: 0.000000 0.000000 0.000000 0.000000
>
> Das ist schon mal enorm seltsam, das heißt nämlich, dass das Bild
> keinerlei bedruckten Bereich enthält (Die Zahlen sind die
> Koordinaten der linken unteren under der rechten oberen Ecke).
Das ist uns wohl allen klar. ;-)
Aber dieses PDF wird noch einwandfrei angezeigt. Probier doch auch mal
mit, was bei Dir so passiert mit diesem Ding:
wget http://www2.inf.fh-brs.de/~fnatte2s/test.pdf
Gruß -- Olaf Meltzer
pdfTeX 3.1415926-1.40.9-2.2 (Web2C 7.5.7)
Olaf Meltzer schrieb:
> Zunächst mal beim ursprünglichen Bild mit dem überflüssigen Rand.
> %%BoundingBox: 0 0 0 0
> %%HiResBoundingBox: 0.000000 0.000000 0.000000 0.000000
Hier auch
> Nach Behandlung mit pdfcrop, vollständig zitiert:
> %%BoundingBox: 75 50 755 534
> %%HiResBoundingBox: 75.524060 50.076350 754.955696 533.520054
Dito.
> **** This file had errors that were repaired or ignored.
> kpdf und Acrobat Reader zeigen das Resultat jetzt als wenige Pixel
> hohen, waagrecht liegenden weißen Balken. Seltsam: Als ich dasselbe
> test.pdf vorhin mit pdfcrop bearbeitet hatte, zeigten kpdf und
> Acrobat Reader das Resultat dann aufrecht (potrait), wobei im unteren
> Bereich des Bildes der linke Teil des ursprünglichen Bildes in
> ursprünglicher Größe lag.
Auch das muss ich bestätigen.
pdfinfo:
test.pdf Page size: 595 x 842 pts (A4)
test-crop.pdf Page size: 842 x 0 pts
???
Schönes Wochenende
Andreas
> pdfTeX bindet das Bild bereits gedreht ein, AFAIK auch beim OP.
Die Postscript-Viewer ghostview und kghostview zeigen das
ursprüngliche test.pdf ebenfalls schon so: gedreht und abgeschnitten.
Auf die Gefahr hin, jemandes Tip zu wiederholen: Folgender Workflow
bringt ebenfalls das gewünschte, sauber beschnittene und richtig
ausgerichtete Resultat:
pdf2ps test.pdf (PS hat dann bereits eine richtige Boundingbox)
ps2pdf test.ps (PDF übernimmt die BB als MediaBox)
pdfcrop test.pdf (PDF ist sauber beschnitten)
Die Beschriftung hat dadurch ebenfalls nicht gelitten.
Gruß -- Olaf Meltzer
Na gut, ich meine nur, wenn das rauskommt, *muss* pdfcrop ja Unsinn
liefern. Das tut ja nix anderes, als mit gs die BoundingBox zu berechnen
und dann mit pdftex das Bild zu beschneiden. Es scheitert also schon am
ersten Schritt.
> Aber dieses PDF wird noch einwandfrei angezeigt.
Ja? Probier mal
gs -dEPSCrop test.pdf
die Viewer zeigen u.U. auch außerhalb der BoundingBoxen an.
> Probier doch auch mal
> mit, was bei Dir so passiert mit diesem Ding:
Mein GS unter cygwin macht das richtig:
$ gs -sDEVICE=bbox test.pdf
GPL Ghostscript 8.62 (2008-02-29)
Copyright (C) 2008 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 1.
Page 1
Loading NimbusSanL-Regu font from
/usr/share/ghostscript/fonts/n019003l.pfb... 2385888 1031120 3907016
2616382 3 done.
%%BoundingBox: 75 50 755 534
%%HiResBoundingBox: 75.524060 50.076350 754.955696 533.520054
>>showpage, press <return> to continue<<
quit
GS>
$ pdfinfo.exe test.pdf
Producer: ESP Ghostscript 815.03
CreationDate: Wed Sep 10 21:23:49 2008
ModDate: Wed Sep 10 21:23:49 2008
Tagged: no
Pages: 1
Encrypted: no
Page size: 595 x 842 pts (A4)
File size: 2513 bytes
Optimized: no
PDF version: 1.4
Hier steht, dass Ghostscript 815.03 das Ding erzeugt hat. Es gibt bei
PDF ja AFAIK 3 verschiedene BoundingBoxen mit unterschiedlichen Namen.
(Meida, Crop, weißderkuckuck). Ich hab jetzt grad kein Tool greifbar,
das mir die alle anzeigt. Abgesehen davon hat sich das Problem ja
erledigt, weil man solche PDFs aus gnuplot am besten per "terminal
postscript eps" und "ps2pdf -dEPSCrop" erzeugt.
Christian
> Abgesehen davon hat sich das
> Problem ja erledigt, weil man solche PDFs aus gnuplot am besten per
> "terminal
> postscript eps" und "ps2pdf -dEPSCrop" erzeugt.
Ja, von vornherein die richtige Methode zu benutzen, ist natürlich
anzuraten. Eine Möglichkeit zu kennen, mit Standardtools derartige
Fehler relativ einfach bereinigen zu können, ist andererseits auch
ganz erbaulich.
Gruß -- Olaf Meltzer
Da ist nichts merkwürdig. pdfcrop ist ja nur ein simples Skript, das
per GhostScript die BoundingBox berechnen lässt und dann eine
PDF mit der gewünschten Größe erstellt, wobei mittels pdfTeX
die Seite entsprechend eingebunden wird. Die zusäzliche
Einbettung kostet etwas Platz.
Viele Grüße
Heiko <ober...@uni-freiburg.de>
> Mein GS unter cygwin macht das richtig:
> Hier steht, dass Ghostscript 815.03 das Ding erzeugt hat. Es gibt bei
> PDF ja AFAIK 3 verschiedene BoundingBoxen mit unterschiedlichen Namen.
> (Meida, Crop, weißderkuckuck). Ich hab jetzt grad kein Tool greifbar,
> das mir die alle anzeigt.
Süß, da reicht sowas wie "less" ;-)
Die Boxen stehen da so ziemlich im Klartext, erst
ab PDF-1.5 gibt es komprimierte Objectstreams.
Das Page-Objekt:
| 4 0 obj
| <</Type/Page/MediaBox [0 0 595 842]
| /Rotate 90/Parent 3 0 R
| /Resources<</ProcSet[/PDF /Text]
| /ExtGState 9 0 R
| /Font 10 0 R
| >>
Vom "Parent" könnte noch etwas vererbt worden sein:
| 3 0 obj
| << /Type /Pages /Kids [
| 4 0 R
| ] /Count 1
| >>
Also es gibt nur die /MediaBox.
Viele Grüße
Heiko <ober...@uni-freiburg.de>
Ein Bug in GS, reproduzieren kann ich es mittlerweile auch, aber bei
einer anderen Versionen.
Nicht funktionieren bei mir (leere BoundingBox):
8.10, 8.13, 8.14
Eine richtige BoundingBox liefern:
8.00, (8.30), 8.50, 8.54, 8.62
Also, probiert einfach eine andere GhostScript-Version.
Viele Grüße
Heiko <ober...@uni-freiburg.de>
> * Heiko Oberdiek schrieb:
>
> > Wie sieht das bei dir aus?
>
> Zunächst mal beim ursprünglichen Bild mit dem überflüssigen Rand.
>
> gs -sDEVICE=bbox -dBATCH -dNOPAUSE test.pdf
> GPL Ghostscript 8.62 (2008-02-29)
> [...]
> %%BoundingBox: 0 0 0 0
> %%HiResBoundingBox: 0.000000 0.000000 0.000000 0.000000
>
> Nach Behandlung mit pdfcrop,
Macht keinen Sinn mehr, da kann pdfcrop auch nichts mehr retten.
In pdfcrop 1.14 (auf dem Weg nach CTAN) werden die Bounding-Box-Werte
daraufhin überprüft, ob der Inhalt leer ist und gegebenfalls eine
Warnung ausgegeben.
Viele Grüße
Heiko <ober...@uni-freiburg.de>
>> Ich mag Inkscape dafür.
>
> Weißt du vielleicht wie ich aus einem inkscape-.svg ein zugeschnittenes
> PDF für pdflatex mache?
>
> Ich benutze Version 0.44.1 und wenn ich als PDF speichere kommt nichts
Hier: 0.46. Pdf support wurde stark verbessert. Give it a try.
Jan