* to PDF Konverter

  • * to PDF Konverter

    Hallo zusammen,

    wie kann ich denn am geschicktesten Office Dokumente, Bilddateien etc. automatisiert/silent (also aus einem Programm heraus) nach PDF Konvertieren?

    Mein Anstatz wäre ja Ghostscript gewesen. Das klappt auch ganz gut, wenn ich bereits Postscript Dateien vorliegen habe. Diese kann man ja bekanntlich über einen virtuellen Drucker erzeugen. Und genau das bekomme ich mit Java oder C++ nicht hin. Weiß einer wie das geht oder kennt gar eine andere (einfachere) Möglichkeit?


    Gruß,
    X-Eon
  • Also wenn du das erzeugen der PDFs selber machen willst ist das sicher viel Arbeit. Ich kann dir nur sagen dass es etwas gibt das iText heißt (für Java und.Net). Es wird dir sicher viel Arbeit abnehmen, es bleibt aber trotzdem noch viel übrig - garbeitet hab ich bisher aber noch nicht damit.
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]
  • iText kenne und habe ich auch schon des öfteren verwendet.

    Hier brauche ich aber leider keine Möglichkeit um PDF's zu erzeugen, sondern eine Möglichkeit .doc, .xls, .ppt, .jpg, .txt (u.a.) in pdf (oder alternativ ein Grafikformat) zu konvertieren.
    Und da finde ich einfach keine Möglichkeit, die da nicht gleich ein ganzes OpenOffice (OO API) mitbringt oder auf proprietäre Programme setzt.

    Mit Apache POI könnte ich die Dokumente öffnen, aber ich bekomme keine pdf draus (außer Plaintext über iText).
    Mit Ghostscript könnte ich die Dokumente konvertieren, wenn ich programmatisch den dafür benötigten virtuellen Drucker anlegen und benutzen könnte ...

    Aber es muss doch irgend eine möglichkeit geben Office Dokumente in irgendein allgemein lesbares Format zu wandeln, was nicht mehr Office zum betrachten benötigt.
  • Ich weiß nicht wie sehr die 10 MB für die API ins Gewicht fallen. Aber was sollte das Parsen von OO Dokumenten besser machen als die OO API?
    Der Vollständigkeit halber die Lösung über die OO API: user.services.openoffice.org/e…/viewtopic.php?f=25&t=132

    Quellcode

    1. /** Store a document, using the PDF Filter */
    2. protected void storeDocComponent(XComponent xDoc, String storeUrl) throws java.lang.Exception {
    3. XStorable xStorable = (XStorable)UnoRuntime.queryInterface(XStorable.class, xDoc);
    4. PropertyValue[] storeProps = new PropertyValue[1];
    5. storeProps[0] = new PropertyValue();
    6. storeProps[0].Name = "FilterName";
    7. storeProps[0].Value = "writer_pdf_Export";
    8. xStorable.storeAsURL(storeUrl, storeProps);
    9. }


    Vielleicht findest du ja noch ein Subprojekt, das die Teile der API weg lässt, die beim Export nicht beteiligt sind. Vielleicht kann man auch einfach manuell ein wenig löschen... deine IDE wird sich schon beschweren, wenn etwas fehlt ;)
  • Hallo,

    Ich kenn deine Applikation nicht und kenn auch keine Möglichkeit direkt das machen zu können, aber ich hätte eine Idee für dich. Vielleicht ist es ja möglich, dass du OpenOffice auf einem Server installierst, dein Programm schickt nun die zu konvertierenden Dateien an den Server und der schickt als Antwort ein PDF zurück. Technisch geht das auf jeden Fall und für die Serverseite gibt es schon fix und fertige Lösungen: goermezer.de/content/view/155/459/.

    Vielleicht hilft dir das ja weiter

    ButAlive
  • Du musst auf jeden Fall darauf achten das die PDF nicht nach den frühen Versionen erstellt werden, die werden dann sehr groß.
    Beispiel: 8 Seiten mit Text und Grafik mit älterem PDF ca. 50MB - das ganz versucht mit 7zip zu packen -> 16MB - dann das ganze über ein aktuelles OpenOffice -> 3MB!
    Allerdings hab ich von der Bedienung, wenn mehrere Seiten in ein PDF-File sollen, noch nicht den komfortabelen Weg gefunden.

    Allerdings 250MB, wenn du das nach ein paar Seiten wieder drin hast, ...
    Die zum Vergleich eingesetzten PDF-Tools waren 3 frei im Netz verfügbare. Es gibt noch mehr.

    Du kannst natürlich auch die original Adobe Software nutzen.

    MfG bcc-fan