Generieren Sie eine PDF-Datei über die Befehlszeile und füllen Sie die Seite mit möglichst vielen Kopien eines Bildes.

516
zool

Ich habe viel danach gesucht, aber keine Lösung gefunden.

Wie kann ich ein PDF mit einem beliebigen Papierformat (z. B. A4) erstellen und die Seiten mit möglichst vielen Kopien eines Bildes füllen?

Ich suche nach einer CLI-Lösung, die Programme wie ImageMagick, Poppler, Ghostscript usw. verwendet.

Mein Anwendungsfall: Geändertes Passwort für die Wi-Fi-Gäste in meinem Büro, ich wollte ein schönes A4-PDF aus einem engen Raster senden, wobei jede Zelle, die die Netzwerk-SSID und den WPA-Key enthält, zum Ausdrucken in Stücke geschnitten wird zu den besuchenden gästen.

Es konnte keine Möglichkeit gefunden werden, die winzigen Bilder manuell in eine Seite mit MS Word einzufügen.

EDIT: wie diese winzigen Bilder aussahen. Einfach in einen Texteditor eingegeben und einen Screenshot des Textes erstellt.

enter image description here

Ich werde dieses Passwort alle 3 Monate ändern. Ich hätte gerne eine automatisierte / skriptfähige Lösung. Muss nicht perfekt sein, aber es muss schnell gehen.

1

1 Antwort auf die Frage

2
Pimp Juice IT

Basierend auf den Bildabmessungen und der JPG-Beispieldatei, die Sie in Ihrer Frage gepostet haben, klicke ich mit der rechten Maustaste darauf und wählen Sie "Bild speichern unter ...", die gespeicherte Bildattributliste als. . .

  • Maße: 2850 x 1237
  • Breite: 2850 pixels
  • Höhe: 1237 pixels

Ich konnte 24 dieser Bilder in eine Bilddatei mit den folgenden Methoden / Befehlen mit ImageMagick komprimieren, die ich unten umreißen werde. Ich werde zwar nicht die Logik für das Kopieren der "x" -Nummer der Originalbilder angeben, um das erwartete Ergebnis zu erhalten, aber solche Aufgaben sind trivial und ich gehe davon aus, dass Sie für diesen Teil selbst keine Hilfe oder Beispiele benötigen - wenn auch nur Gib mir Bescheid.


Detaillierte Schritte. . .

Zur Erinnerung: Ich habe keine Logik für das Kopieren oder Löschen von Dateien zur Verfügung gestellt, bei denen ich erwähnte, dass diese Art von Vorgängen erforderlich sind.

  1. Sie sollten mehrere Kopien der SSID- und WPA-Schlüssel-Image-Datei an einem /folderbeliebigen Ort erstellen, sodass Sie insgesamt 6 Images haben, um den ersten ImageMagick- Befehl auszuführen .

  2. Wenn sich diese 6 Bilddateien in der Datei befinden /folder, führen Sie diesen Befehl für sie aus, um eine neue Ausgabedatei mit dem Namen out.jpgin meinem Beispiel zu erstellen :

    convert /folder/*.jpg -gravity center -append /output/out.jpg 
  3. Sie werden nun die 6 original „SSID und WPA-Key - Bild“ Dateien löschen und kopieren Sie dann über die neue out.jpgauf die /folderund kopieren Sie sie dann, bis Sie insgesamt 4 Dateien in das haben /folder, und dann diesen Befehl ausführen:

    convert /folder/*.jpg -gravity center +append /output/nout.jpg 
  4. Sie können dann die 4 Kopien dieser Dateien löschen, die /outputSie pro # 3 kopiert haben, und dann diesen Befehl für den neu erstellten Befehl ausführen nout.jpg, der mit dem obigen Befehl erstellt wurde, um eine als Seite a4 formatierte Datei zu erhalten:

    convert /output/nout.jpg -page a4 /output/print.jpg 
  5. Drucken Sie nun die print.jpgBilddatei und stellen Sie sicher, dass sie gut aussieht, schneiden, ohnmächtig usw.

Hinweis: Wenn Ihre Bildmaße und das Startbild anders sind und mit dem Endergebnis nicht richtig skaliert werden, möchten Sie mit jedem Schritt, auf den ich verwiesen habe, mit der Anzahl "x" und dann nach dem Ausführen spielen Wenn Sie den Befehl für diese Bilder verwenden, müssen Sie die korrelierten Ausgabedateien öffnen und prüfen, ob Sie die "x" -Nummer für jeden Schritt ermitteln können. Dies kann zwar zeitnah getestet werden, ist aber eine andere triviale Aufgabe, die so einfach zu lösen ist.


Weitere Ressourcen

@zool Ich habe mit den Optionen von [`montage`] (http://www.imagemagick.org/Usage/montage/) gespielt und die Bilder waren verschwommen, also habe ich mich auf andere Methoden konzentriert. Ich habe auch die Größe der Originaldatei nicht verkleinert, um das Einfügen weiterer kleinerer Bilder in das eine Blatt zu verkleinern, aber ich gehe davon aus, dass dies zumindest für einen grundlegenden Ausgangspunkt ausreichend ist, um Sie an der Automatisierung zu arbeiten ein Skript und so für Ihre Aufgabe. Pimp Juice IT vor 6 Jahren 0