Extrahieren von Seiten aus einer PDF-Datei mit ITextSharp
Ist es möglich, mithilfe von IText zum kopieren von PDF-Seiten aus einem PDF-Dokument und kehren teilweise Dokument basierend auf einer Formular-Feld-Namen? Zum Beispiel brauche ich zum kopieren der Anfang eines pdf-Dokuments und stoppen an einem bestimmten Textfeld namens [STOP_HERE], so was auch immer Inhalte, bevor diese Felder müssen extrahiert werden, die [STOP_HERE] Feld konnte sich auf einer anderen Seite, die für jedes Dokument, also mit Seitenzahlen wäre hier auch nicht hilfreich.
Suchte ich online und alles, was ich finden kann, ist ein Weg, um zu kopieren, nur Formular-Felder aus einem Dokument, aber nicht das ganze Dokument-Elemente, einschließlich der Bilder, Texte mit Ihren genauen Standort und Stil.
Kann IText do der job hier?
EDIT: Mehr details
[STOP_HERE] ist ein AcroForms text-Feld, die platziert wurde in einem Dokument von der PDF-design-person zu zeigen, dass alles vor diesem element kopiert werden soll, wie in ein anderes Dokument. Das Feld selbst ist nicht wichtig, ich will nicht zu füllen oder etwas zu tun mit es, es ist nur ein signal lassen Sie das Dokument, parser, stoppen Sie es und kopieren Sie alle vorherigen (oberen) Inhalt, ich weiß nur nicht, wie zu Lesen, alle Inhalte (ohne änderung der Art, Inhalt, etc) vor diesem Feld.
[STOP_HERE] ist ein AcroForms text-Feld, die platziert wurde in einem Dokument von der PDF-design-person zu zeigen, dass alles vor diesem element kopiert werden soll, wie in ein anderes Dokument. Das Feld selbst ist nicht wichtig, ich will nicht zu füllen oder etwas zu tun mit es, es ist nur ein signal lassen Sie das Dokument, parser, stoppen Sie es und kopieren Sie alle vorherigen (oberen) Inhalt, ich weiß nur nicht, wie zu Lesen, alle Inhalte (ohne änderung der Art, Inhalt, etc) vor diesem Feld .
[STOP_HERE] ist ein AcroForms-text field - ist, dass der name oder der Inhalt?
Der name des Feldes
Um genauer zu sein [STOP_HERE] ist der name des Feldes, ich könnte dies ändern, was einfach für mich zu erkennen, ich beauftragte den designer zu nutzen, wie es der name des Acrofield, also konnte ich es leicht mit Itextsharp
InformationsquelleAutor Maya | 2015-06-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider ist die OP nicht sagen, ob die Seite mit dem Formular-Feld [STOP_HERE] aufgenommen werden soll oder nicht. Als nur +/-1 Sache, obwohl, ich dachte einfach, dass die Seite aufgenommen werden.
Somit die Aufgabe, die umgesetzt werden können, wie diese:
Den code öffnet das source-Datei in einem
PdfReader
und sucht zuerst den Bereich. Wenn es vorhanden ist, es iteriert über alle Erscheinungen in diesem Bereich und bestimmt die früheste Seite mit einem Auftritt des Feldes. Wenn es eine solche Seite, wird der code beschränkt den Leser auf die Seiten bis zu dieser Seite und speichert diese Einschränkung mit einemPdfStamper
.Ah. Sie ursprünglich nach einer Möglichkeit gefragt kopieren von PDF-Seiten. So, ich habe natürlich angenommen, dass du gemeint komplette - Seiten und nicht nur die Seite teilen. Entfernen von Inhalt aus einer Seite kann es etwas schwierig. Wenn es genügt, zu verbergen, die zusätzliche Inhalte, könnte man voranstellen eines clipping-Pfad zu den Inhalten der Seite oder auch Ernte-die Seite entsprechend. Aber wenn sich die zusätzlichen Inhalte wirklich entfernt werden muss, sind die Dinge schwieriger. In der iText xtra Paket derzeit ein Dienstprogramm zum bereinigen schwärzen-wie Zwecke ist in Entwicklung, aber es ist noch nicht perfekt.
InformationsquelleAutor mkl