2016-04-20 10 views
1

Ich versuche, eine PDF-Datei mit Hilfe von alivepdf lib mit etwa 4000 Seiten zu erstellen und jede Seite enthält ein Bild von der Methode apimage() hinzugefügt. Das Problem ist, dass die Daten viel Speicher benötigen, da alivepdf die gesamte Datei im Speicher erstellt, bevor sie auf dem Schreibtisch gespeichert wird. also frage ich, ob es einen weg gibt, ich kann die datei mit jedem eintrag öffnen und seite hinzufügen, dann schließe sie und gebe speicher frei, bevor ich die nächste seite hinzufüge. dankeErstellen einer großen PDF-Datei mit Adobe Air

+0

Vielleicht machen Sie mehrere kleinere PDFs und verwenden Sie dann ein Werkzeug (sogar als NativeProcess), um sie alle zu einem von der Festplatte zu kombinieren? –

+0

Wird der Speicher nicht überladen, wenn alle PDF-Dateien erneut kombiniert werden? –

+0

Ich wollte zuerst Ihre App verwenden, um viele kleine PDFs (zB: 400 Seiten) zu erstellen und die nächsten 400 als neue PDF usw. zu machen. Wenn Sie fertig sind, verwenden Sie ein externes Tool wie ** [PDFtk] (https: //www.pdflabs. com/tools/pdftk-server /) ** um die Dateien auf der Festplatte zu speichern. Es funktioniert über die Eingabeaufforderung, aber Sie können AIR als NativeProcess ausführen. Es ** [akzeptiert Anweisungen] (https://www.pdflabs.com/docs/pdftk-cli-examples/) **, um gespeicherte Dateien zu kombinieren und als neue auszugeben. Nichts wird in Flash geladen. Flash kann den Prozess starten, aber die Zusammenführung erfolgt außerhalb Ihrer App. Warten Sie einfach auf eine große Datei magisch erscheinen ... –

Antwort

1

Ich schlage vor, Sie verwenden zuerst Ihre App viele viele kleinere PDFs (zum Beispiel jeder ist 400 Seiten, dann nächste 400 als ein neues PDF, usw., bis alle 4000 Seiten in 10 PDFs getan werden).

Wenn diese bereit sind, verwenden Sie ein externes Tool wie PDFtk, um die Dateien zu verarbeiten, die Sie auf der Festplatte gespeichert haben. Es funktioniert über die Eingabeaufforderung, aber Sie können AIR anweisen, es als NativeProcess auszuführen. Es akzeptiert instructions, um diese gespeicherten Dateien zu kombinieren und sie als neue große Datei auszugeben.

Mach dir keine Gedanken über Speicher, nichts ist in Flash geladen. Flash selbst kann den Prozess starten, aber die Zusammenführung erfolgt außerhalb Ihrer App. Warte nur darauf, dass eine große Datei magisch erscheint.

+0

Danke, das ist der beste Weg, es zu tun –