Hallo,
kennt jemand eine Möglichkeit unter PB zwei vorhandene PDF Dateien in einer PDF Datei zu speichern.
Zwei oder mehrere PDF-Dateien in eine Datei zusammenfügen
- maddinvonfritz
- Beiträge: 14
- Registriert: 15.11.2023 16:53
-
- Beiträge: 127
- Registriert: 22.11.2020 20:05
- Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint und LMDE
Re: Zwei oder mehrere PDF-Dateien in eine Datei zusammenfügen
es gibt PdfVectorOutput(), NewVectorPage() usw.. Damit kann man mehrere erstellte Seiten zu einer .pdf Datei erzeugen. Ich weiß aber nicht, ob und wie man vorhandene .pdf Dateien in diese Pages laden kann.
Alternativ (falls dies nicht direkt mit PB ohne weiteres geht) könntest du ein Kommandozeilen-Tool verwenden, welches du dann mit RunProgram() steuern kannst.
Ein solches Tool wäre zB. PDFtk (PDF Toolkit). Gibt es in den offiziellen Quellen. Hier gibt es Infos dazu:
https://de.linux-terminal.com/?p=1745
Alternativ (falls dies nicht direkt mit PB ohne weiteres geht) könntest du ein Kommandozeilen-Tool verwenden, welches du dann mit RunProgram() steuern kannst.
Ein solches Tool wäre zB. PDFtk (PDF Toolkit). Gibt es in den offiziellen Quellen. Hier gibt es Infos dazu:
https://de.linux-terminal.com/?p=1745
--
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
-
- Beiträge: 127
- Registriert: 22.11.2020 20:05
- Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint und LMDE
Re: Zwei oder mehrere PDF-Dateien in eine Datei zusammenfügen
gibt auch noch weitere interessante Kommandozeilen-Tools. Werden auch auf der Seite weiter unten kurz vorgestellt.
Hab festgestellt, daß bei mir (LMDE6) die Tools ghostscript und pdfunite bereits vorhanden waren. Dann ersparst du dir die Installation von PDFtk - obwohl das ja in 5 Sekunden erledigt ist...
Kannste rausfinden mit dem Terminalbefehl which:
Wenn vorhanden, antwortet which mit dem Pfad des gesuchten Programms, ansonsten kommt nix.
Hab festgestellt, daß bei mir (LMDE6) die Tools ghostscript und pdfunite bereits vorhanden waren. Dann ersparst du dir die Installation von PDFtk - obwohl das ja in 5 Sekunden erledigt ist...
Kannste rausfinden mit dem Terminalbefehl which:
Code: Alles auswählen
which ghostscript
/usr/bin/ghostscript
Code: Alles auswählen
which pdfunite
/usr/bin/pdfunite
--
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
-
- Beiträge: 127
- Registriert: 22.11.2020 20:05
- Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint und LMDE
Re: Zwei oder mehrere PDF-Dateien in eine Datei zusammenfügen
hab das mal mit pdfunite getestet:
Code: Alles auswählen
EnableExplicit
;thema: fremdprogrammstart // hier: mit pdfunite (oder weitere Programme) vorhandene .pdf-Dateien verbinden
;- declarationen
Global.i ev ;integer
Global.s pvz ;string
#_k_program_1 = "pdfunite"
#_K_befehl_1 = "test1.pdf test2.pdf ziel_1.pdf"
Procedure ruf_auf(pn.s,pr.s)
;startet ein script oder programm & gibt ggf. den ausgabe & exitcode zurück / param: programm-name | parameter(kann auch der name/pfad eines weiteren programms/scripts sein)
Define ausgabe.s,pnr.i
pnr = RunProgram(pn, pr, "", #PB_Program_Open | #PB_Program_Read)
ausgabe = ""
If pnr ;wenn programmstart gelungen
While ProgramRunning(pnr)
If AvailableProgramOutput(pnr) ;falls das aufgerufene Programm Meldungen ausgibt
ausgabe + ReadProgramString(pnr) + Chr(13)
EndIf
Wend
ausgabe + Chr(13) + Chr(13)
CloseProgram(pnr) ; Schließt die Verbindung zum Programm
EndIf
Debug "Output:"+ ausgabe
EndProcedure
;-fensterelemente
If OpenWindow(0, 200, 200, 200, 100, "Test", #PB_Window_ScreenCentered)
If CreateMenu(0, WindowID(0)) ; hier beginnt das Erstellen des Menüs...
MenuTitle("Testmenü")
MenuItem(1, "PDF-Verbinden")
MenuItem(2, "Weiterer Test")
EndIf ;ob menü ok
EndIf ;ob fenster ok
;-hauptprogramm
pvz = GetPathPart(ProgramFilename()) ;Programmverzeichnis speichern
SetCurrentDirectory(pvz) ;aktuelles programmverzeichnis ermitteln und als aktives verzeichnis setzen
;-ereignisschleife
Repeat
ev = WaitWindowEvent() ; überprüfe Window-Ereignisse
Select ev
Case #PB_Event_CloseWindow ; wenn x
Debug "ende"
Break
Case #PB_Event_Menu ; ein Eintrag des Popup-Menüs wurde angeklickt
Select EventMenu() ; ermittle den angeklickten Menü-Eintrag...
Case 1
Debug "Verbinden:"
ruf_auf(#_k_program_1,#_K_befehl_1)
Debug "Fertig"
Case 2
Debug "Dideldum"
EndSelect ;welcher menüpunkt
EndSelect ;welches ereignis
ForEver
End
;notitzen:
;falls pdfunite nicht vorhanden: sudo apt install poppler-utils
;Usage: pdfunite [options] <PDF-sourcefile-1>..<PDF-sourcefile-n> <PDF-destfile>
--
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
Ideen gibt es viele - man muss sie nur haben...
Mint / LMDE5+6 // PureBasic 6.21
- maddinvonfritz
- Beiträge: 14
- Registriert: 15.11.2023 16:53
Re: Zwei oder mehrere PDF-Dateien in eine Datei zusammenfügen
Vielen Dank für die ganzen Ideen. Ich schaue sie mir diese Wochenende Mal an.