PDF in Gruppen von n Seiten splitten

cumulonimbus8

Fleet Admiral
Registriert
Apr. 2012
Beiträge
18.398
Moin!

Kennt jemand ein Freeware die das kann? Bislang fand ich nur per se Kostenpflichtiges oder Nettigkeitne die als Freeware angepriesen werden und mir dann die Zunge rausstrecken als freie Version nur soundsoviel Seiten zu bearbeiten.

Was ich da vor die Tür bekommen habe hat 2600 Seiten und ich habe 8 davon… Trennangaben wuie 1-2,3-4,5-6 sind nicht recht brauchbar.

CN8
 
probier mal pdfsam oder split-pdf ansonsten schau dich bei alternativeto.net um
 
Hört sich bei der Menge beruflich an. Also wende dich vielleicht an eure IT.
Rat mal wer diese IT ist… :D

Die anderen Vorschläge wird die besagte IT-Abteilung morgen ansehen. Sie hat gerade Arbeit :heilig:

CN8

• PDFSam - Download ein Rastespiel. 10MB Installer (für was) der dann nachlädt. Eingabe zum Splitten wird mit Error begrüßt («Flsche Eingabe», sinngemäß), nur konnte ich noch nichts eingeben. Selbstgefällig, rufe eine Website auf. Immerhin: Split eines 1500-Seiten-Tests ist OK.

• split-pdf ist offenbar ein Webdienst. Der & das fallen aus gewissen Gründen aus.
• alternativeto.net ist eine Trial-And-Error-Sammlung. Um so was zu umgehen hatte ich diesen Thread eröffnet.
 
Zuletzt bearbeitet:
CN8, konntest du nicht skripten? Schreib dir doch ein Skript, auf welches du eine pdf ziehen kannst, so dass sie dann per Reader+Makro zerlegt wird.
 
@ cumulonimbus8
Die Vorgaben (welche Seiten getrennt gehören/welche Seiten zusammen ein PDF bilden sollen), wird wie vorgegeben?
Soll da per Hand entschieden werden?
Hat da schon jemand mühevoll die Seiten mit einer Logik entsprechend zusammengestellt? (z.B. Seite 1-20 pdf, 21-22 raus, 23-50 pdf, usw. usw.)
 
@halwe
Mit summa 12000 PDFs? Neee - da streikt der Unterarm :D

@ryan_blackdrago
Nein, zum Glück nur aneienandergeklebte 2 Seiten als Endlosbandwurm. Nur eben mal >2500 je PDF.

@mkossmann
GhostScript ist bei mir schon vor längerem in Ungnade gefallen da die Ergebnisse der Wandlung von In-Datei-Gedrucktem miserabel waren. Aber als Kommandozeile müsste ich noch mal nachfassen.
Seit aktuelle Office’ ordentliche PDFs abliefern (Nebenwirkung siehe ganz oben…) brauche ich GS nicht mehr.

CN8
 
PDFtk-server scheint ein interessantes Terminal-Tool zu sein.
Da laesst sich per Skript wahrscheinlich das gewuenschte Ziel erreichen.

Wenn ich es richtig verstanden habe, dann sollte es damit gehen:
Code:
pdftk INPUT.pdf cat START-ENDE output OUTPUT.pdf

EDIT
Batch-Skript:
Code:
@echo off

set /a dateiende=10
set /a start=1

:loop
    set /a ende=start+1
    echo %start% von %dateiende%

    pdftk "C:\Users\moep\Desktop\input.pdf" cat %start%-%ende% output "C:\Users\moep\Desktop\Unterordner\output %start%-%ende%.pdf"

    set /a start=start+2
    if %start% GEQ %dateiende% goto exitloop
    goto loop
:exitloop

Pause
 
Zuletzt bearbeitet: (Batch-Skript ergaenzt)
In dem Zusammenhang dürfte tatsächlich GhostScript und pdftk passend sein. Da müsste man sich aber erst einmal einlesen.

Als komplettes Gegenteil, habe ich mit Autoit eine wirkliche Quick&Dirty Lösung auf die Schnelle erarbeitet (der erste Kaffee Schub wirkt). Ohne GUI, ohne Prüfung von Sonderzeichen in Dateinamen usw.

Bedarf etwas Vorbereitung. ITler dürften damit aber klarkommen.
Macht neue PDFs paarweise (1-2, 3-4 und wenn es ungerade ist 39-39 = die einzelne Seite 39). Wie gesagt : Quick & Dirty:

>Notwendige Software:

Es müssen der
Adobe Reader DC,
GhostScript
und FreePDF installiert sein

>Vorbereitungen:

-Den FreePDF als Standard-Drucker setzen

-Adobe Reader muß einmal gestartet werden (wegen Akzeptieren der Adobe Lizenzbestimmungen)

-Da es ein Dialoggesteuertes Skript ist, wird ein Rechner benötigt, an dem zu dieser Zeit nicht gearbeitet wird (d.h. über Nacht oder über die Mittagspause / Meeting anwerfen)

-Das PDF zu 1.pdf umbenennen und in denselben Ordner der kompilierten .exe ablegen (habe mir das Maskieren von Sonderzeichen gespart; wie gesagt auf die Schnelle programmiert).

-Ein Probedruck mit dem FreePDF muß einmal gestartet werden & den Haken 'PDF öffnen' beim Druckdialog entfernen (FreePDF speichert das dann in seine Konfiguation).

>Eintragungen im Quellcode:

-Die erste Seitenzahl vom PDF eintragen (beginnt hier mit Seite 1)

-Die letzte Seitenzahl vom PDF eintragen (endet bei meinem Test-PDF bei Seite 39)

-Den Output-Ordner der PDFs angeben (hier : C:\temp)

>Quellcode
Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
#include <file.au3>

; XXXXXXXXXXXXXX  Notwendige USER EINGABEN:
;Seitenzahl des Dokuments angeben
$Anfang = 1
$Ende = 39

;PDF-Datei zu 1.pdf umbenennen
ShellExecute(@scriptdir & "\1.pdf")

;PDF-Output-Ordner angeben:
$PDFoutput = "C:\temp"

; ENDE XXXXXXXXXXXXXX  Notwendige USER EINGABEN

While 1

For $i = $Anfang To $Ende Step 2

if $i = $Ende then
;wenn Dokument ungerade ist/nicht paarweise ; z.B. 1-11
$j = $i
Else
;wenn Dokument paarweise ist ; z.B. 1-10
$j = $i+1
EndIf

;Seitenzahl paarweise setzen für weitere Verwendung; z.B. 39-39
$line = $i & "-" & $j

;Warten bis PDF aktiv
WinWaitActive("1.pdf - Adobe Acrobat Reader DC","")
WinWait("1.pdf - Adobe Acrobat Reader DC","")
;Druckdialog starten
Send("^p")
;Windows Druckdialog
WinWaitActive("Drucken","Zu druckende Seiten")
WinWait("Drucken","Zu druckende Seiten")
;Seiten :
ControlClick("Drucken","Zu druckende Seiten", "[CLASS:Button; INSTANCE:12]")
Send("{TAB}")
;Seitenzahl
send($line)
Send("{ENTER}")

;FreePDF
WinWaitActive("FreePDF 4.14","High Quality")
WinWait("FreePDF 4.14","High Quality")
;Dateinamen gemäß Seitenzahl
send($line)
;Ablegen = Button 5
ControlClick("FreePDF 4.14","High Quality", "[CLASS:ThunderRT5CommandButton; INSTANCE:5]")
;PDF-Output-Ordner wählen
WinWaitActive("Speichern unter","FreePDF File     (.pdf)")
WinWait("Speichern unter","FreePDF File     (.pdf)")
send($PDFoutput & "\" & $line & ".pdf")
ControlClick("Speichern unter","FreePDF File     (.pdf)", "[CLASS:Button; INSTANCE:2]")

;bei größeren Dokumenten den Sleep von 10 Sekunden aktivieren
;sleep(10000)

;Warten bis PDF wieder im Vordergrund / aktiv
WinWaitActive("1.pdf - Adobe Acrobat Reader DC","")
WinWait("1.pdf - Adobe Acrobat Reader DC","")
Next

;Adobe schließen
ProcessClose("AcroRd32.exe")
Exit

WEnd

Mein Testnotebook hat etwa pro PDF-Paar 4 Sekunden gebraucht. Bei 2600 Seiten (1300 PDF-Paaren) wird etwas Zeit benötigt. Wie gesagt, einen PC nehmen an dem nicht gearbeitet wird.
 
Zuletzt bearbeitet:
Das Ganze Halt!!! ;)

PDFsam
tut worum es geht, damit war mir bereits geholfen.

@Scientist
Der TKBuilder ist mir bekannt, aber per GUI kann er nicht so splitten wie ich das brauche. Die Kommandozeile habe ich vernachlässigt, kann sein, dass es damit ohne Klimmzüge geht.

@ryan_blackdrago
Den Code schau ich mir heute Abend nicht mehr an; mir hat anderer Friemelkram um diese PDFs gereicht. Aber auch schnell notiert sieht das recht gut aus, nnur den FreePDF habe ich nicht. Die Sache mit dem Warten hat mir anderweitig heute ausreiched Gaue Haare verschafft.

CN8
 
Zurück
Oben