PDF mit Seiten unterschiedlichen Formats erzeugen?
PDF mit Seiten unterschiedlichen Formats erzeugen?
Gegeben: pdf mit expliziten Seitennummern bestehend aus S5-S10 und S27-S30. Das sind 10 Seiten.
Ein bestimmtes Programm kann mit expliziten Seitennummer nicht (richtig) umgehen. Explizite Seite 10 meines Dokuments ist dort also gezählte Seite 6. Diese falsche Zahl wird dann für Weiterverarbeitungszwecke übernommen.
Abhilfe: Ich füge die leeren Seiten S0-S4 und S11-S26 ein. Alles funktioniert für Weiterverarbeitungzwecke richtig.
Ärger: Ich muß ewig (es gibt auch längere Dokumente als hier im Beispiel ... und ich möchte das rein aus was-weiß-ich wissen) durch leere Seiten scrollen und es ist unübersichtlich.
Abhilfe dafür: Ich füge dünne Leerseiten ein, so breit wie die Seiten mit Inhalt, aber nur ein oder wenige Pixel hoch. Sie muß lediglich als Seite ***gezählt*** werden können.
Problem gelöst.
Geht das? Wenn ja, wie?
(möglichst ohne weiteres warum und wieso).
Ein bestimmtes Programm kann mit expliziten Seitennummer nicht (richtig) umgehen. Explizite Seite 10 meines Dokuments ist dort also gezählte Seite 6. Diese falsche Zahl wird dann für Weiterverarbeitungszwecke übernommen.
Abhilfe: Ich füge die leeren Seiten S0-S4 und S11-S26 ein. Alles funktioniert für Weiterverarbeitungzwecke richtig.
Ärger: Ich muß ewig (es gibt auch längere Dokumente als hier im Beispiel ... und ich möchte das rein aus was-weiß-ich wissen) durch leere Seiten scrollen und es ist unübersichtlich.
Abhilfe dafür: Ich füge dünne Leerseiten ein, so breit wie die Seiten mit Inhalt, aber nur ein oder wenige Pixel hoch. Sie muß lediglich als Seite ***gezählt*** werden können.
Problem gelöst.
Geht das? Wenn ja, wie?
(möglichst ohne weiteres warum und wieso).
Zuletzt geändert von TRex am 03.04.2025 11:25:57, insgesamt 1-mal geändert.
Grund: Titel entplenkt
Grund: Titel entplenkt
gruß
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)
Re: PDF mit Seiten unterschiedlichen Formats erzeugen ?
Meine erste schnelle Idee wäre, deine pdf an der "Sollbruchstelle" in zwei einzelne pdf-Dateien aufzusplitten. Mit einem anderen Programm eine leere pdf-Datei der gewünschten Höhe erzeugen, und diese dann zusammenfügen.
Re: PDF mit Seiten unterschiedlichen Formats erzeugen ?
Gerade ausprobiert: Bequem per GUI geht das mit dem Master PDF Editor.
Anleitung: https://code-industry.net/masterpdfedit ... ank-pages/
Einfach das Seitenformat als "benutzerdefiniert" und den Wert für die Höhe so klein wie gewünscht setzen.
Anleitung: https://code-industry.net/masterpdfedit ... ank-pages/
Einfach das Seitenformat als "benutzerdefiniert" und den Wert für die Höhe so klein wie gewünscht setzen.
Re: PDF mit Seiten unterschiedlichen Formats erzeugen ?
Ich möchte so weit es geht CLI nutzen, und der Notfall müsste extrem werden das ich ein nicht-OS Programm nutze. Eure Antworten haben mich aber soweit ermuntert dass sie bedeuten dass es prinzipiell funktioniert.
Wie man so ein PDF mit leeren Seiten geringster Höhe erstellt habe ich nun herausgefunden.
Wobei ich das Breitenmaß diesem Kommando (mit unsäglich fragwürdigen output) entnommen habe:
Worauf ich nun hinaus will ist folgendes:
Mit qpdf (oder einem anderen "üblichen" CL tool?) gibt es die Möglichkeit ein PDF aus verschiedenen Ausgangs PDFs zusammen zu bauen. Irgendwo hatte ich die vergangenen gelesen von einem tool was ranges UND file in einem command erlaubt, also so etwas in pseudocode:
"einpdftool erstelle page-range 1-5:file.a 5-10:file.b 11-26:file.a 27-30:file.b -ouput.pdf"
wobei man vorab diese superdünne Seite z.B. verhunderfachen müsste um ein "a.pdf" mit 100 superdünnen Seiten zu erzeugen aus dem mann dann beliebig lange (bis eben 100 Seiten) ranges heruskopieren lassen kann . Leider finde ich in den unterschiedlichen manpages eher heraus wie ich verschschlüssle, verpassworte, verchinesischiere, aber nicht wie ich vervielfältige.
Ich betreibe den Aufwand ja nicht für eine Datei. Ich möchte eine Lösung die ich bei entsprechender Anpassung der page-ranges für jedes beliebige (löchrige) pdf verwenden kann.
Lösungen und/oder Lösungsbeispiele oder Schritte dorthin willkommen.
Danke vorab.
EDIT:
Wie ich die Datei zusammenbastel habe ich schon gefunden:
Jetzt muss ich nur noch herausfinden wie ich diese dünne seiten vervielfache (oder ich eine Seite mehrfach mergen kann ohne dies Seite für Seite explizit angeben zu müssen).
Wie man so ein PDF mit leeren Seiten geringster Höhe erstellt habe ich nun herausgefunden.
Code: Alles auswählen
convert xc:none -page 1417x20 a.pdf
Code: Alles auswählen
mutool info -M <file.pdf>
Mit qpdf (oder einem anderen "üblichen" CL tool?) gibt es die Möglichkeit ein PDF aus verschiedenen Ausgangs PDFs zusammen zu bauen. Irgendwo hatte ich die vergangenen gelesen von einem tool was ranges UND file in einem command erlaubt, also so etwas in pseudocode:
"einpdftool erstelle page-range 1-5:file.a 5-10:file.b 11-26:file.a 27-30:file.b -ouput.pdf"
wobei man vorab diese superdünne Seite z.B. verhunderfachen müsste um ein "a.pdf" mit 100 superdünnen Seiten zu erzeugen aus dem mann dann beliebig lange (bis eben 100 Seiten) ranges heruskopieren lassen kann . Leider finde ich in den unterschiedlichen manpages eher heraus wie ich verschschlüssle, verpassworte, verchinesischiere, aber nicht wie ich vervielfältige.
Ich betreibe den Aufwand ja nicht für eine Datei. Ich möchte eine Lösung die ich bei entsprechender Anpassung der page-ranges für jedes beliebige (löchrige) pdf verwenden kann.
Lösungen und/oder Lösungsbeispiele oder Schritte dorthin willkommen.
Danke vorab.
EDIT:
Wie ich die Datei zusammenbastel habe ich schon gefunden:
Code: Alles auswählen
mutool merge [options] file1 [pages] file2 [pages]
Zuletzt geändert von michaa7 am 02.04.2025 14:55:28, insgesamt 2-mal geändert.
gruß
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)
Re: PDF mit Seiten unterschiedlichen Formats erzeugen ?
Mit
pdftk sollte es in deinem Sinne zu bewerkstelligen sein:
In diesem Beispiel ist a.pdf ein PDF mit mehr als 18 Seiten, b.pdf das per Deinem convert-Befehl erzeugte PDF mit lediglich einer Seite von geringer Höhe. Das ausgegebene PDF c.pdf entspricht a.pdf, in das die kleinen Blankoseiten nach den Seiten 5, 12 und 17 eingefügt wurden.

Code: Alles auswählen
pdftk A=a.pdf B=b.pdf cat A1-5 B1 A6-12 B1 A13-17 B1 A18-end output c.pdf
Zuletzt geändert von Huo am 02.04.2025 14:57:05, insgesamt 1-mal geändert.
Re: PDF mit Seiten unterschiedlichen Formats erzeugen ?
Super, danke, das probiere ich sofort aus und melde mich wieder.
Danke schon mal!!!
Danke schon mal!!!
gruß
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)
Re: PDF mit Seiten unterschiedlichen Formats erzeugen ?
Das passt nicht so ganz. Vom Prinzip her ist es fast richtig:Huo hat geschrieben:02.04.2025 14:53:50Mitpdftk sollte es in deinem Sinne zu bewerkstelligen sein:
In diesem Beispiel ist a.pdf ein PDF mit mehr als 18 Seiten, b.pdf das per Deinem convert-Befehl erzeugte PDF mit lediglich einer Seite von geringer Höhe. Das ausgegebene PDF c.pdf entspricht a.pdf, in das die kleinen Blankoseiten nach den Seiten 5, 12 und 17 eingefügt wurden.Code: Alles auswählen
pdftk A=a.pdf B=b.pdf cat A1-5 B1 A6-12 B1 A13-17 B1 A18-end output c.pdf
In meinem Ausgangsbeispiel mit den inhaltlichen Seiten S5-S10 und S27-S30 müssen dünne Leerseiten
von 1-4 und 11-26 eingefügt werden, nicht eine einzelne.
Das ginge mit deinem Ansatz nur wenn a.pdf (die mit den Leerseiten) viel mehr als eine Seite umfaßt um einen ausreichend großen range von Seiten daraus kopieren zu können oder es die Möglichkeit gäbe irgendwie zu definieren wie oft ein range zu wiederholen ist (wofür es vermutlich keine option gibt) oder ein range mit einer Seite Seite-für-Seite gefüllt werden könnte. von einer derartigen Möglichkeit habe ich noch nirgends gelesen.
Also müßte man doch erst a.pdf mit sehr vielen leeren, dünnen Seiten erstellen: Für Scriptexperten (also scripttechnisch quasi das Gegenteil von mir

Aus man pdftk:
*********************************************************
cat:
Page Range Examples Using Handles:
Say A=in1.pdf B=in2.pdf, then:
...
A A – catenate in1.pdf with in1.pdf
*********************************************************
#!/bin/bash
$: Anzahl der Wiederholungen
$(loop-anfang)
pdftk A=duenn.pdf cat A A output duenn.pdf # ja, hier wird der inputfile überschrieben, falls pdftk das zuläßt
loop-ende
Wenn die Anzahl der Wiederholungen 7 beträgt, dann hat duenn.pdf zum Schluß 128 Seiten, das müßte reichen

done
Daraus könnte man dann die jeweils notwendige Anzahl von Seiten deinem obigen Ansatz gemäß herauskopieren lassen.
EDIT:
Naja, das muß mann nicht scripten, das ist ja in 7 schritten auch per hand getan ...
und damit kann mann dann die Datei mit unterschiedlichen Seitenformat wunschgemäß zusammenbauen.
Code: Alles auswählen
pdftk A=duenn.pdf B=inhalte.pdf cat A1-4 B5-10 A11-26 B27-30 output test.pdf
Zuletzt geändert von michaa7 am 03.04.2025 10:43:51, insgesamt 1-mal geändert.
gruß
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)
-
- Beiträge: 736
- Registriert: 09.09.2014 18:33:22
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: PDF mit Seiten unterschiedlichen Formats erzeugen ?
Das Problem scheint ja nun (fast) gelöst, allerdings in meinen Augen eher wenig elegant. Die 16 leeren Seiten mitten im Dokument existieren ja noch, sehen bekloppt aus und behindern bzw. verwirren mich.
Wenn es tatsächlich nur um die im Eingangsbeitrag erwähnten "Weiterverarbeitungszwecke" geht, wie sehen diese Weiterverarbeitungszwecke denn aus?
Wenn es hier lediglich um semi-automatisiertes Extrahieren bestimmter Seiten o.ä. geht, würde ich eher in den Metadaten des (unveränderten) PDFs festhalten, welche Seiten fehlen oder andere Seitennummern haben ("Keywords: MissingPages_1-4_11-26"). Wenn es dann an die Weiterverarbeitung geht, wird nicht EIN_PDF_TOOL {Dateiname} aufgerufen, sondern INSERT_MISSING_PAGES {Dateiname} EIN_PDF_TOOL. Das Skript INSERT_MISSING_PAGES würde die Ursprungsdatei nehmen, aus den Metadaten auslesen welche Seiten eingefügt werden müssen, eine temporäre Datei mit 30 Seiten (davon 20 leer) erstellen und diese an EIN_PDF_TOOL übergeben.
Wenn es tatsächlich nur um die im Eingangsbeitrag erwähnten "Weiterverarbeitungszwecke" geht, wie sehen diese Weiterverarbeitungszwecke denn aus?
Wenn es hier lediglich um semi-automatisiertes Extrahieren bestimmter Seiten o.ä. geht, würde ich eher in den Metadaten des (unveränderten) PDFs festhalten, welche Seiten fehlen oder andere Seitennummern haben ("Keywords: MissingPages_1-4_11-26"). Wenn es dann an die Weiterverarbeitung geht, wird nicht EIN_PDF_TOOL {Dateiname} aufgerufen, sondern INSERT_MISSING_PAGES {Dateiname} EIN_PDF_TOOL. Das Skript INSERT_MISSING_PAGES würde die Ursprungsdatei nehmen, aus den Metadaten auslesen welche Seiten eingefügt werden müssen, eine temporäre Datei mit 30 Seiten (davon 20 leer) erstellen und diese an EIN_PDF_TOOL übergeben.
Re: PDF mit Seiten unterschiedlichen Formats erzeugen ?
Das nutzt nichts.Korodny hat geschrieben:02.04.2025 18:35:07Das Problem scheint ja nun (fast) gelöst, allerdings in meinen Augen eher wenig elegant. Die 16 leeren Seiten mitten im Dokument existieren ja noch, sehen bekloppt aus und behindern bzw. verwirren mich.
Wenn es tatsächlich nur um die im Eingangsbeitrag erwähnten "Weiterverarbeitungszwecke" geht, wie sehen diese Weiterverarbeitungszwecke denn aus?
Wenn es hier lediglich um semi-automatisiertes Extrahieren bestimmter Seiten o.ä. geht, würde ich eher in den Metadaten des (unveränderten) PDFs festhalten, welche Seiten fehlen oder andere Seitennummern haben ("Keywords: MissingPages_1-4_11-26"). Wenn es dann an die Weiterverarbeitung geht, wird nicht EIN_PDF_TOOL {Dateiname} aufgerufen, sondern INSERT_MISSING_PAGES {Dateiname} EIN_PDF_TOOL. Das Skript INSERT_MISSING_PAGES würde die Ursprungsdatei nehmen, aus den Metadaten auslesen welche Seiten eingefügt werden müssen, eine temporäre Datei mit 30 Seiten (davon 20 leer) erstellen und diese an EIN_PDF_TOOL übergeben.
Vereinfacht gesagt geht es um eine Literaturverwaltung die explizite Seitennummern nicht (richtig) versteht und beim Markieren eines Seitenbereiches (zwecks potenziellem späteren Zitieren) im Falle unvollständiger (= "löchriger") PDFs die gezählte, nicht die explizite Seitennummer übernimmt.
Man hat zwei workarounds:
1) Seitennummer für jeden markierten Bereich per sub-sub-menü manuell anpassen, dafür hat man ja einen Computer, dass der einem sich wiederholende Tasks aufträgt
2) ein anderes Menü benutzen, das ganz anders und mit beschränkter Funktionalität funktioniert.
Ich möchte gerne für gleiche Aufgaben einheitliche Arbeitsabläufe und für das Standard Bearbeitungstool besser nicht die Einschränkung auf lückenlose Kopien .
Bei vollständigen Scanns ist das kein Problem (solange die Seite 1 von Scan und Orginal übereinstimmen). Von rechtlichen Einschränkungen ganz abgesehen will ich einfach nicht mit Vollscanns arbeiten *müssen* oder mich zum Korrektursklaven des Programms machen müssen.
Ärgerlich ist dass das Programm explizite Seitennummern in PDFs eigentlich erkennt und anzeigt ... nur nicht in besagtem Menü. Meine entsprechende Anfrage im Support ist auf wenig Gegenliebe gestoßen ... "es gibt ja workarounds".
Ich möchte aber vorschlagen es an dieser Stelle mit den Erklärungen gut sein zu lassen.
Die hier gefundenen Lösung ist für mich der akzeptabelste workaround.
gruß
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)
Re: PDF mit Seiten unterschiedlichen Formats erzeugen ?
Ja, mit hinreichend vielen Leerseiten in duenn.pdf klappt das doch prima. Mir war gestern unabhängig davon noch eine Lösung eingefallen mit einer duenn.pdf, die nur aus einer einzigen dünnen Leerseite besteht. Per printf und Befehlssubstitution wird diese eine Seite einfach in passender Anzahl eingefügt (hier in Anlehnung an dein Beispiel erst 4, dann 16 mal):michaa7 hat geschrieben:02.04.2025 16:36:37pdftk A=duenn.pdf cat A A output duenn.pdf # ja, hier wird der inputfile überschrieben, falls pdftk das zuläßt
loop-ende
Wenn die Anzahl der Wiederholungen 7 beträgt, dann hat duenn.pdf zum Schluß 128 Seiten, das müßte reichen
done
Daraus könnte man dann die jeweils notwendige Anzahl von Seiten deinem obigen Ansatz gemäß herauskopieren lassen.
EDIT:
Naja, das muß mann nicht scripten, das ist ja in 7 schritten auch per hand getan ...
und damit kann mann dann die Datei mit unterschiedlichen Seitenformat wunschgemäß zusammenbauen.
Code: Alles auswählen
pdftk A=duenn.pdf B=inhalte.pdf cat A1-4 B5-10 A1-16 B27-30 output test.pdf
Code: Alles auswählen
pdftk A=duenn.pdf B=inhalte.pdf cat $(printf 'A %.0s' {1..4}) B5-10 $(printf 'A %.0s' {1..16}) B27-end output out.pdf
Re: PDF mit Seiten unterschiedlichen Formats erzeugen ?
Mir ist da ein kleiner Schreibfehler unterlaufen, nur um für andere Verwirrung zu vermeiden:Huo hat geschrieben:03.04.2025 10:05:41michaa7 hat geschrieben:02.04.2025 16:36:37...Code: Alles auswählen
pdftk A=duenn.pdf B=inhalte.pdf cat A1-4 B5-10 A1-16 B27-30 output test.pdf
A1-16 muß natürlich A11-26 lauten! Habs oben bei mir korrigiert.
Habe hier den entsprechenden Schreibfehler im Zitat richtig "gefälscht"Huo hat geschrieben:03.04.2025 10:05:41Ja, mit hinreichend vielen Leerseiten in duenn.pdf klappt das doch prima. Mir war gestern unabhängig davon noch eine Lösung eingefallen mit einer duenn.pdf, die nur aus einer einzigen dünnen Leerseite besteht. Per printf und Befehlssubstitution wird diese eine Seite einfach in passender Anzahl eingefügt (hier in Anlehnung an dein Beispiel erst 4, dann 16 mal):Code: Alles auswählen
pdftk A=duenn.pdf B=inhalte.pdf cat $(printf 'A %.0s' {1..4}) B5-10 $(printf 'A %.0s' {11..26}) B27-end output out.pdf

Danke für den Einzeiler, der ist auf jeden Fall praktisch und kommt in mein PDF-howto.
gruß
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)