Seite 1 von 2

Multi-PDF-Creator

Verfasst: Donnerstag 3. Juli 2008, 10:19
von dor_neue
Mahlzeit,

ich suche eine Möglichkeit um:
- x-belibige-Dateien in PDF zu konvertieren
- das mit den Parametern der Input und Output-Datei zu automatisieren

klingt ganz einfach und brachte mich jetzt schon zu PDFCreator - leider sind dessen Parameterübergabe sehr eingegrenzt - so kann entweder nur ein Dokument erzeugt werden ohne Angabe von Outputpfad oder wenn Ein- und Ausgabedatei angegeben werden, dann muss die Eingabedatei eine *.ps sein.
Kennt nicht jemand ein kleines und leistungsstarkes Tool dafür?

Danke für Eure Hilfe...

Verfasst: Donnerstag 3. Juli 2008, 10:47
von Leonidas
ImageMagick kann multi-page PDFs.

Verfasst: Donnerstag 3. Juli 2008, 10:59
von dor_neue
mkay - damit schaff ich schon mal die tif's und die bmp's die ich hab...
Aber die doc's, xls's und ppt's bleiben noch übrig...

Kann man nicht irgendwie z.B. OpenOffice.org per Konsole steuern?

Verfasst: Donnerstag 3. Juli 2008, 11:07
von Leonidas
Man kann wenn man masochistisch genug ist OpenOffice via UNO skripten.

Verfasst: Donnerstag 3. Juli 2008, 11:40
von dor_neue
schon gesehen - aber so schmerzpervers wollte ich da eigentlich nicht ran gehen - denn das übersteigt erstens meine Fähigkeiten in Python und zweitens dachte ich das es für meine Anforderungen zu übertrieben wäre...

Es muss doch ne einfache Möglichkeit geben - pdf is doch heutzutage nicht wirklich der Exot

// EDIT \\

Hab noch das hier gefunden gehabt:
http://www.goermezer.de/content/view/424/616/
Aber ich glaub das is nur um doc's in pdf zu wandeln...

Verfasst: Donnerstag 3. Juli 2008, 13:53
von veers
Wie wäre es mit einem PDF Drucker Treiber?

Verfasst: Donnerstag 3. Juli 2008, 14:14
von dor_neue
veers hat geschrieben:Wie wäre es mit einem PDF Drucker Treiber?
Gute Idee... hab ich auch schon versucht umzusetzen - alelrdings hat das 2 große Nachteile:
1. das Umwandeln in pdf erfordert ja trotzdem Programme die es öffnen können und dauert dazu noch sehr lange
2. ein direktes Umwandeln in pdf-Dateien wäre nur mit ps-Dateien möglich...

Von daher bin ich vom dem Gedanken wieder weg gegangen...

Verfasst: Donnerstag 3. Juli 2008, 14:54
von dor_neue
Jetzt hab ich versucht mich in die Python-API von OpenOffice.org reinzufuchsen...
Hat damit schon einer Erfahrungen?
Weil wenn ich die entsprechende python.bat aufrufe um die Shell aufzurufen, dann bekomm ich folgende Fehlermeldung:
"Das angegebene Programm kann nicht gestartet werden"
Ein genauer Fehlermeldung fehlt leider...
System ist bei mir Windows 2003 Server
als OpenOffice nutze ich OpenOffice.org 3.0

Na dann - mal sehen ob ich mich damit nicht übernehme - aber nur mit Aufgaben wächst man...

Verfasst: Donnerstag 3. Juli 2008, 15:28
von Leonidas
Dann schau doch in die Batch-Datei rein :roll:

Verfasst: Donnerstag 3. Juli 2008, 17:25
von dor_neue
Leonidas hat geschrieben:Dann schau doch in die Batch-Datei rein :roll:
hab schon - legt 5 oder 6 Parameter fest (mittels set) und startet dann die Python.exe aus nem Unterordner - aber auch wenn ich nur die python.exe starten will, bekomm ich den selben Fehler - kA woran es liegt...
Ich spiel mir nochmal mit OpenOffice 2.4.1 drauf und versuch es nochmal mit der Python-Shell

PS: Im Grunde genommen könnte ich doch auch eine x-belibige Python-Installation nehmen - oder irre ich mich?!?

Verfasst: Donnerstag 3. Juli 2008, 17:47
von Leonidas
dor_neue hat geschrieben:PS: Im Grunde genommen könnte ich doch auch eine x-belibige Python-Installation nehmen - oder irre ich mich?!?
Jein. Du brauchst du Module die mit UNO kommunizieren.

Verfasst: Donnerstag 3. Juli 2008, 20:31
von dor_neue
Ich hab jetzt das hier gefunden:
http://www.goermezer.de/content/view/155/459/
das ganze funktioniert sogar sehr gut...
Problem is jatzt aber
1. Ich will das nicht als Server sondern als lokalen Dienst bzw. lokales Script
2. ich bin echt zu doof das Script umzuschreiben:
http://paste.pocoo.org/show/jC2nE2gc03h6pF96QsRA/

Ich versteh nur Bahnhof davon...
Kann mir einer helfen und mich unterstützen und mir (Zeile für Zeile is übertrieben) den Quelltext erklären? Speziell Zeile 33 bis 80...
Is das Python oder is das eine andere Sprache bzw. Mischform?

Bin echt nen bissel überfordert damit...

Danke für Eure Geduld!

Verfasst: Donnerstag 3. Juli 2008, 21:02
von BlackJack
Das ist Python. Problem dürfte weniger die Sprache als mehr die UNO-API von Sun sein. Sun's APIs sind in der Regel leicht überkompliziert.

Verfasst: Donnerstag 3. Juli 2008, 21:02
von Pekh
Das ist pyUNO. :D

Und ich weiß jetzt wieder, warum ich meine Versuche damit ziemlich bald abgebrochen habe ...

Verfasst: Donnerstag 3. Juli 2008, 22:32
von veers

Code: Alles auswählen

    context = uno.getComponentContext()
    resolver = context.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", context)
    ctx = resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")
    smgr = ctx.ServiceManager
    desktop = smgr.createInstanceWithContext("com.sun.star.frame.Desktop",ctx)
    doc = desktop.loadComponentFromURL('file:///'+url, "_blank", 0, tuple(properties))
Könnte auch J2EE sein *g*

Verfasst: Donnerstag 3. Juli 2008, 23:14
von dor_neue
so - hab jetzt schon mal das geschaffen:
http://paste.pocoo.org/show/78505/

Das dürfte das alles beinhalten und treffen...
Nun kommt aber wieder nen Problem (wie könnte es auch anders sein bei mir) - wenn ich die Oginal index.spy aufrufe, die ja den Quelltext zum wandeln enthält, dann funzt alles...
Wenn ich aber mein Script aufrufe, dann bringt er als Fehlermeldung das hier:

Code: Alles auswählen

Traceback (most recent call last):
  File "c:\all2pdf.py", line 64, in ?
    main()
  File "c:\all2pdf.py", line39, in main
    ctx = resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")
__main__.com.sun.relove.connection.NoConnectException: Connector : couldn't connect to socket (WSANOTINITIALISED, WSAStartup() has not been called)
Ok, ich weiß, dass er nicht zum Server OppenOffice connecten kann - aber warum? Bei der index.spy funzt es doch auch...

Ich versteh das nicht... :(

Verfasst: Freitag 4. Juli 2008, 09:05
von dor_neue
Problem gefunden:
http://www.oooforum.org/forum/viewtopic.phtml?t=70223

So - jetzt das ganze noch anpassen und fertigstellen und wenn Interesse besteht, dann stell ich das unter Codesnippets oder Showcase gern vor...
Bis dahin brauch ich aber noch nen paar Minuten weil ich alles noch ordentlich auskommentieren will...
Wie sich das gehört halt :P

Verfasst: Freitag 4. Juli 2008, 13:01
von audax
Wow. DAS ist übel!

edit:
Ich meine nur die UNO-API.

Verfasst: Samstag 5. Juli 2008, 16:04
von sma
Was ist denn mit ReportLab? Oder mit PyPDF? Oder dem wohl darauf aufbauenden Pisa, welches ganz interessant aussieht, weil es (ein Subset von) HTML als Eingabesprache benutzt.

Auf dem Mac könnte man vielleicht noch das PDFKit mittels Python ansprechen. Ansonsten fällt mir noch FOP ein, zwar Java, aber immerhin von jemandem programmiert, der jetzt Python macht. Das ist doch auch schon mal was ;) Oh, und ich hatte mal einen Google Techtalk über PrinceXML gehört... klang auch ganz nett.

Man muss sich also nicht nur mit Openoffice quälen.

Stefan

Verfasst: Samstag 5. Juli 2008, 19:49
von dor_neue
also langsam:
ReportLab Toolkit:
Super um PDF's zu erzeugen, allerdings etwas schwer damit automatisch Offic-Dokumente öffnen zu lassen und das auszudrucken.
Somit fällt das leider wech auch wenn es an sich sehr geil gemacht ist...
pyPdf:
Is ebenfalls nen Tool um Pdf's zu bearbeiten und und und - aber eben nicht aus Office-Dokumenten Pdf's zu erezugen - deshalb auch das nein...
Pisa HTML2PDF:
Wie der Name schon sagt - ebenfalls keine Office-Dokumente...

den REst muss ich mir Montag nochmal reinziehen - vielleicht ne Idee in diesem Theard gleichmal alle Tools und Programme für PDF und Python zusammentragen - is ja im Google-Ranking schon ziemlich hochgerutscht...