Multi-PDF-Creator

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
dor_neue
User
Beiträge: 74
Registriert: Montag 16. Juni 2008, 18:51

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...
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

ImageMagick kann multi-page PDFs.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
dor_neue
User
Beiträge: 74
Registriert: Montag 16. Juni 2008, 18:51

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?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Man kann wenn man masochistisch genug ist OpenOffice via UNO skripten.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
dor_neue
User
Beiträge: 74
Registriert: Montag 16. Juni 2008, 18:51

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...
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Wie wäre es mit einem PDF Drucker Treiber?
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
dor_neue
User
Beiträge: 74
Registriert: Montag 16. Juni 2008, 18:51

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...
dor_neue
User
Beiträge: 74
Registriert: Montag 16. Juni 2008, 18:51

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...
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dann schau doch in die Batch-Datei rein :roll:
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
dor_neue
User
Beiträge: 74
Registriert: Montag 16. Juni 2008, 18:51

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?!?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
dor_neue
User
Beiträge: 74
Registriert: Montag 16. Juni 2008, 18:51

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!
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.
Pekh
User
Beiträge: 482
Registriert: Donnerstag 22. Mai 2008, 09:09

Das ist pyUNO. :D

Und ich weiß jetzt wieder, warum ich meine Versuche damit ziemlich bald abgebrochen habe ...
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

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*
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
dor_neue
User
Beiträge: 74
Registriert: Montag 16. Juni 2008, 18:51

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... :(
dor_neue
User
Beiträge: 74
Registriert: Montag 16. Juni 2008, 18:51

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
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Wow. DAS ist übel!

edit:
Ich meine nur die UNO-API.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

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
dor_neue
User
Beiträge: 74
Registriert: Montag 16. Juni 2008, 18:51

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...
Antworten