Zusammenführen von PDF-Dateien auf iOS
Gibt es eine Möglichkeit in iOS, um Zusammenführen von PDF-Dateien, das ist, fügen Sie die Seiten in einem am Ende der anderen und auf der Festplatte speichern?
Dies ist nicht eine Antwort für diese, aber Wenn jemand will, to Anhängen, eine vorhandene pdf-Datei
InformationsquelleAutor lkraider | 2011-07-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kam ich mit dieser Lösung:
Ist das größte Problem hier ist die Speicherzuweisung. Wie Sie sehen können, ist in diesem Ansatz, den Sie Lesen müssen, um sowohl PDF-Dateien, die Sie Zusammenführen möchten, mit, und, zur gleichen Zeit, generieren Sie die Ausgabe. Die Veröffentlichungen erfolgen nur am Ende. Ich habe versucht, die Kombination einer PDF-Datei mit 500 Seiten (~15MB) mit einem anderen mit 100 Seiten (~3MB) und es produziert eine neue mit 600 Seiten (natürlich!) mit nur ~5MB Größe (magic?). Die Durchführung dauerte etwa 30 Sekunden (nicht so schlecht, bedenkt, dass ein iPad 1) und zugeordneten 17MB (Autsch!). Die app hat sich zum Glück nicht Abstürzen, aber ich denke, iOS lieben würde, zu töten, eine app verbraucht 17MB wie dieser. ;P
Das würde sogar funktionieren! Obwohl ich konnte nicht einen Weg finden, zu implementieren, dass, noch. Nachdem Sie in der Nähe einen Kontext (speichern Sie die Datei auf der Festplatte) mit
CGPDFContextClose
, es ist nicht möglich, Sie erneut öffnen und die Bearbeitung fortsetzen, von wo Sie aufgehört haben, wie verschieben Sie den Zeiger an das Ende der Datei und fügen Sie neue Inhalte.Hmmm...ich bin nicht allzu vertraut mit den Funktionen und Methoden, die dort unten, aber es könnte irgendeine Art von Datei-I/O-stream-Klasse, würde Sie vorher den Zeiger. Oder ziehen Sie einfach so etwas wie ein megabyte bits zu einer Zeit, und schreiben Sie es auf der Festplatte (nicht sicher, wie gut, dass würde aber funktionieren)
Das ist perfekt für mich, ich bin nur Zusammenführen 4-5 Seiten in einem Schuss.
Vielen Dank für eine tolle Antwort! Ich habe schon überall auf der Suche nach ein gutes Beispiel für das Zusammenführen unterschiedlich große Seiten aus mehreren pdf-Dateien ein und dieser nimmt den Kuchen! Ein Nachteil ist die Möglichkeit, dass die Seite Dimensionen bestimmt werden. Verwenden Sie
CGPDFPageGetBoxRect(page, kCGPDFMediaBox)
aber der parameterkCGPDFMediaBox
vielleicht nicht immer die beste Wahl. In einer Datei, die verwendet wurde, zu drucken, eine Zeitschrift, die Tatsache, dass das vordere und hintere Deckblatt gedruckt auf einem einzigen Blatt Papier bedeutet, dass mitkCGPDFMediaBox
ich würde Sie beide auf der gleichen Seite, währendkCGPDFCropBox
Kulturen den sichtbaren Seiten richtig.InformationsquelleAutor Jonatan
Ich habe ein wenig umgestalten auf Jonathan-code beizutreten, PDF-Datei von beliebiger Größe:
Hoffe, das hilft
Die original-pdf ist ein bisschen anders in Bezug auf Größe und Kompatibilität version, sollten Sie nur eine pdf-Datei Zusammenführen, das original ist in der version 1.4, aber der zusammengefaßten generiert 1.3. Wie kann ich die version?
InformationsquelleAutor matsoftware
Meine Funktion in swift 3:
In diesem können Sie mir helfen, zu nehmen, Holen Sie die fertige pdf-Datei auf der Diskette abgespeichert
InformationsquelleAutor Sam Xu
Ich mich für meine eigene Bibliothek hier...aber ich habe einen kostenlosen PDF-Lesen/schreiben-Bibliothek, die ich vor kurzem gezeigt, wie der Einsatz im iOS-Kontext. es ist perfekt für das Zusammenführen von PDF-Dateien und Bearbeiten Sie Sie, und machen Sie das mit einem relativ kleinen Speicher Signatur. Überlegen Sie es, sehen Sie hier eine Beispiel - ios mit PDFHummus. Nochmal, es ist mir die Förderung meiner eigenen Bibliothek, so nehmen Sie sich diese Ratschläge in den richtigen Kontext.
InformationsquelleAutor Gal Kahana
Ich dachte, ich würde teilen die Antwort, die die Verwendung von Swift, da war ich auf der Suche nach es in Swift und konnte ihn nicht finden und musste, um es zu übersetzen. Auch, meine Antwort nutzt ein array aus einzelnen getrennten PDF-Dateien
pdfPagesURLArray
und durchläuft zum generieren der vollständigen pdf-Datei. Ich bin ziemlich neu in diesem, so dass Anregungen willkommen sind.Tun konnte, Kraft-unwrapping hier so:
page = CGPDFDocumentGetPage(pdfReference, index)!
Aber weiter mit best-practice:
Konnte ich nicht finden keine Lösungen von swift, so dass ich hoffte, was ich kam mit, wäre hilfreich für andere. Froh, dass es dir geholfen 🙂
InformationsquelleAutor FromTheStix
Ich basiert meine Lösung auf die Lösung erstellt von @matsoftware.
Erstellte ich einen Ausschnitt für meine Lösung: https://gist.github.com/jefferythomas/7265536
InformationsquelleAutor Jeffery Thomas
Ich glaube FastPdfKit ist genau das, was Sie suchen, und es gibt eine Kostenlose version!
Sieht aus wie der link ist kaputt.
Ich habe den link aktualisiert
InformationsquelleAutor Icemanind