PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Teile eines PDFs ausschneiden



Tux
19-05-2009, 01:08
Hi,

kurz zu meinem Setup:
Ich verwende TeXniCenter mit MixTeX unter Windows Vista um direkt PDF-Dokumente aus meinen LateX-Dokumenten zu erstellen.

Mein Ziel:
Ich möchte Teile eines anderen PDFs ausschneiden (z.B. Vektorgrafiken, aus OpenOffice Calc als PDF exportierte Diagramme, etc.) und in mein TeX-Dokument einfügen.
Benutzt habe ich dafür schon das LaTeX-Kommando \viewport sowie pdfcrop.exe.

Problem:
Die obigen Lösungen funktionieren zwar, jedoch wird der unerwünschte Teil des PDFs nur unsichtbar gemacht und nicht gelöscht. Wenn man z.B. einen Teil des PDFs markiert sieht man, dass der Rest des ursprünglichen PDFs noch vorhanden ist.

Frage:
Gibt es dafür eine Lösung?
Diese sollte möglichst alltagstauglich sein (also nicht zu aufwändig, z.B. Konvertierungen über 10 Ecken), keine kommerzielle Software (-> Acrobat) benötigen, und nicht darin bestehen eine Screenshot zu machen (wobei ich diesen Tipp hier im Forum zum Glück nicht erwarten muss).

Danke im Vorraus,
Euer Tux

bobmalaria
19-05-2009, 11:21
hi,

schau mal:

pdfcrop --help

das margins commando kann dir helfen.

gruss

voss
19-05-2009, 11:40
Mein Ziel:
Ich möchte Teile eines anderen PDFs ausschneiden (z.B. Vektorgrafiken, aus OpenOffice Calc als PDF exportierte Diagramme, etc.) und in mein TeX-Dokument einfügen.
Benutzt habe ich dafür schon das LaTeX-Kommando \viewport sowie pdfcrop.exe.

Problem:
Die obigen Lösungen funktionieren zwar, jedoch wird der unerwünschte Teil des PDFs nur unsichtbar gemacht und nicht gelöscht. Wenn man z.B. einen Teil des PDFs markiert sieht man, dass der Rest des ursprünglichen PDFs noch vorhanden ist.

Frage:
Gibt es dafür eine Lösung?
Diese sollte möglichst alltagstauglich sein (also nicht zu aufwändig, z.B. Konvertierungen über 10 Ecken), keine kommerzielle Software (-> Acrobat) benötigen, und nicht darin bestehen eine Screenshot zu machen (wobei ich diesen Tipp hier im Forum zum Glück nicht erwarten muss).


hast du die Option clip verwendet?

Herbert

Tux
19-05-2009, 17:51
@bobmalaria
Hi, --margins hab ich benutzt, hab dann aber oben erwähntes Problem.

@voss
Danke für en Tipp, aber ich weiß nicht was die Funktion --clip bewirken soll, denn ich sehe keinen Unterschied (ob mit oder ohne)

voss
19-05-2009, 18:20
@bobmalaria
Hi, --margins hab ich benutzt, hab dann aber oben erwähntes Problem.

@voss
Danke für en Tipp, aber ich weiß nicht was die Funktion --clip bewirken soll, denn ich sehe keinen Unterschied (ob mit oder ohne)

clip bezog ich auf \includegraphics

Herbert

Tux
19-05-2009, 20:05
Funktioniert leider trotzdem nicht :(


Edit: Hab mal ein Beispiel angehängt, dass man sieht, was genau gemeint ist.
Wenn man im (eigentlich leeren) Bereich rechts über der Grafik markiert (am einfachsten geht Strg+A drücken), wird der gesamte Inhalt der vorigen PDF-Datei sichtbar.

voss
19-05-2009, 20:31
Funktioniert leider trotzdem nicht :(


Edit: Hab mal ein Beispiel angehängt, dass man sieht, was genau gemeint ist.
Wenn man im (eigentlich leeren) Bereich rechts über der Grafik markiert (am einfachsten geht Strg+A drücken), wird der gesamte Inhalt der vorigen PDF-Datei sichtbar.

was sollen wir denn mit der Grafik anfangen? Wichtig ist,
zu sehen, was genau du gemacht hast!

Herbert

Tux
19-05-2009, 21:31
Die Grafik ist das Resultat von

pdfcrop --margins "-50 -50 -50 -500" in.pdf out.pdf
und wird so wie sie ist mittels \includegraphics eingebunden.
Ich habe sie angehängt, damit ihr seht, was eigentlich das Problem ist (nicht das wir am Schluss aneinander vorbei reden).

Wenn ich die Grafik nicht mit pdfcrop beschneide, sondern das Original-PDF mittels viewport auf den gewünschten Ausschnitt beschränke ergibt sich genau das gleiche Problem.

Hierfür suche ich Abhilfe.

bobmalaria
20-05-2009, 01:08
hi,

die anti-LaTeX lösung wäre ein import und zuschneiden mit einem vektorgrafikprogramm wie z.b. inkscape.

gruss

voss
20-05-2009, 08:02
Die Grafik ist das Resultat von

pdfcrop --margins "-50 -50 -50 -500" in.pdf out.pdf
und wird so wie sie ist mittels \includegraphics eingebunden.
Ich habe sie angehängt, damit ihr seht, was eigentlich das Problem ist (nicht das wir am Schluss aneinander vorbei reden).


wo hast du sie angehängt?
Wenn ich deine Schwingkreis.pdf von oben nehme, kann ich unter
Adobe auch Ctrl-A nehmen, da wird nur das angezeigt, was man sieht ...
Abgesehen davon, warum erstellst du sie Grafik nicht gleich direkt
unter LaTeX:
http://www.ctan.org/tex-archive/graphics/pstricks/contrib/pst-circ/pst-circ-doc.pdf

Herbert

Tux
20-05-2009, 20:14
@bobmalaria
Geht das mit Inkscape? Dann werd ich das bei Gelegenheit mal auprobieren.

@voss
Wo ich sie angehängt habe? Post #6? Verstehe deine Frage nicht ganz...

Hab dir mal angehängt wie das in meinem PDF-Viewer aussieht.

Warum ich sie nicht selbst zeichne? Weil ich nicht jede Grafik selbst zeichnen will... Sondern manchmal eben einfach nur von jemand anders kopieren... Und der Schwingkreis ist nur ein Beispiel, falls du meinst das sowas ruck zuck selbst gezeichnet wäre.

voss
20-05-2009, 20:23
Wo ich sie angehängt habe? Post #6? Verstehe deine Frage nicht ganz...

Hab dir mal angehängt wie das in meinem PDF-Viewer aussieht.


Linux/Reader 8, da ist alles bestens, wie ich schon schrieb ...

Herbert

Tux
23-05-2009, 14:21
Sorry, aber mir scheint wir stecken hier irgendwie in einer Sackgasse.

Mit den jetzigen Vorraussetzungen (insbesondere habe ich mir nun einmal Inksacape angeschaut) könnten wir doch nochmal von vorne beginnen und vielleicht finden wir dann ja doch noch eine Lösung.

Also nochmal zusammengefasst:

Es geht mir nicht um die darstellung in irgendeinem PDF-Viewer, sondern darum, dass sowohl pdfcrop als auch viewport die unerwünschten Dateiinhalte nur unsichtbar machen, die Informationen jedoch immer noch im so erhaltenen PDF stecken. Da möchte ich nicht.
Die Lösung mit Inkscape schien zuerst gut zu funktionieren, allerdings klappt der Import nicht Reibungslos (habe mal ein Beispiel angehängt - die Umrandung der Datenpunkte fehlt).


Weiß mir jemand unter diesen Voraussetzungen nun eine Lösung oder muss ich einfach mit den "Leichen" in meine PDF-Dokumenten leben?

voss
23-05-2009, 15:40
Sorry, aber mir scheint wir stecken hier irgendwie in einer Sackgasse.


solange, wie du nicht definitiv ein Beispieldokument angibtst, aus dem man
explizit sehen kann, wie du das Zuschneiden gemacht hast, wird es wohl
so ein.

Herbert

Tux
23-05-2009, 16:00
Ich geb Euch doch dauernd Beispiele?!?
Und zur pdfcrop.exe gibt's nunmal kein Beispieldokument.

viewport mache ich immer so:

\begin{figure}[htb]{8cm}
\includegraphics*[viewport=65 435 500 755, width=6cm]{Grafik.pdf}
\end{figure}

Außerdem ist doch das kein Problem das nur ich habe, sondern ein allgemeines, das jeder mit einer x-beliebigen Grafik nachvollziehen kann.

P.S. deinen Vorschlag mit clip aus Beitrag #3 habe ich so umgesetzt:

\includegraphics*[viewport=65 435 500 755, clip=true, width=6cm]{Grafik.pdf}
\includegraphics*[viewport=65 435 500 755, clip=false, width=6cm]{Grafik.pdf}
Effekt: mit clip=false sind die Sachen, die ich eigentlich wegschneiden will sogar zu sehen.


Es muss wie gesagt auch nicht zwingend eine Lösung in LaTeX sein.
Ich hoffe du weißt jetzt was du wissen wolltest...

voss
23-05-2009, 16:58
Ich geb Euch doch dauernd Beispiele?!?
Und zur pdfcrop.exe gibt's nunmal kein Beispieldokument.

viewport mache ich immer so:

\begin{figure}[htb]{8cm}
\includegraphics*[viewport=65 435 500 755, width=6cm]{Grafik.pdf}
\end{figure}


das ist auch nur ein Fragment. Gecroppte Grafik hängt an ...

Herbert

Tux
23-05-2009, 17:14
Das in deinem Anhang ist doch eine Rastergrafik???

Hier ein "Minimalbeispiel" falls das wirklich weiterhilft:

\documentclass{scrartcl}

\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{floatflt}


\begin{document}

\section{Neues Kapitel}

\begin{figure}[htb]
\includegraphics*[viewport=65 435 500 755, width=8cm]{Diagramm.pdf}
\end{figure}

Blablabla.... Viel Text.

\end{document}

rais
23-05-2009, 23:37
Moin moin,




\begin{figure}[r]{8cm}

diese Zeile musst Du mir mal erklaeren ... sieht fast so aus, als bringst Du die Standardumgebung `figure' mit `floatingfigure' aus dem floatflt-Paket durcheinander -- oder was genau soll hier `r' beim Positionieren eben dieser `figure'-Umgebung bewirken, ganz zu schweigen von den `8cm'?

MfG

Tux
24-05-2009, 00:36
Ich gestehe... Da ich gerade kein Beispiel mit figure zur Hand hatte, habe ich eins mit floatingfigure abgeändert.

Habs der Übersichtlichkeit halber oben in meinem Post korrigiert.

u_fischer
24-05-2009, 11:59
Aus einer Pixelgrafik einen Teil auszuschneiden ist leicht: Du lässt einfach die Pixel weg, die du nicht brauchst.

Aus einer Vektorgrafik oder einer pdf-Datei etwas auszuschneiden ist deutlich schwieriger. Die enthalten nämlich Code, der ausgeführt werden muss, und du musst den für den Ausschnitt verantwortlichen Code finden und eventuell sogar anpassen. Nimm einfach die Seite 20 deines Dokuments und überlege dir, welchen Code aus der tex-Datei du brauchst, um die Seite "auszuschneiden" und genau so in einem anderen Dokument zu reproduzieren. Dann kannst dir vielleicht besser vorstellen, dass es nicht so einfach ist, aus einer pdf-Datei etwas auszuschneiden. Bei bestimmten abgegrenzten Objekten (z.B. Seiten oder eingebetten Bildern) kann es gehen, aber meist bedeutet "beschneiden" dass die unerwünschten Teile nur ausgeblendet werden.


Ulrike Fischer