### Install pypdf Package Source: https://github.com/wsgtcyx/pdf-zusammenfugen-agent-skills/blob/main/skills/pdf-zusammenfuegen-workflow/SKILL.md Installiert das 'pypdf' Paket, das für die PDF-Zusammenführung benötigt wird. Es wird empfohlen, dies in einer virtuellen Umgebung zu tun, um Abhängigkeitskonflikte zu vermeiden. Dies ist eine einmalige Einrichtung für das Projekt. ```bash python3 -m venv .venv source .venv/bin/activate python -m pip install pypdf ``` -------------------------------- ### Installieren von Agent Skills (Bash) Source: https://context7.com/wsgtcyx/pdf-zusammenfugen-agent-skills/llms.txt Installiert die 'PDF Zusammenfügen Agent Skills' aus dem Repository. Ermöglicht die Installation aller Skills oder nur des Kern-Skills ('pdf-zusammenfuegen-workflow'). Listet verfügbare Skills auf. ```bash # Alle Skills aus dem Repository installieren npx skills add wsgtcyx/PDF-Zusammenfugen-Agent-skills # Nur den Kern-Skill installieren npx skills add wsgtcyx/PDF-Zusammenfugen-Agent-skills --skill pdf-zusammenfuegen-workflow # Verfügbare Skills auflisten npx skills add wsgtcyx/PDF-Zusammenfugen-Agent-skills --list ``` -------------------------------- ### Execute PDF Merge Script Source: https://github.com/wsgtcyx/pdf-zusammenfugen-agent-skills/blob/main/skills/pdf-zusammenfuegen-workflow/SKILL.md Führt das Python-Skript 'scripts/merge_pdfs.py' zur Zusammenführung von PDF-Dateien aus. Das Skript erwartet den Ausgabepfad und die Pfade zu den Eingabe-PDFs. Die Option '--overwrite' kann verwendet werden, um eine bestehende Ausgabedatei zu überschreiben. ```bash python3 scripts/merge_pdfs.py \ --output ./output/merged.pdf \ ./input/anschreiben.pdf \ ./input/lebenslauf.pdf \ ./input/zeugnis.pdf ``` ```bash python3 scripts/merge_pdfs.py --overwrite --output ./output/merged.pdf ./input/a.pdf ./input/b.pdf ``` -------------------------------- ### Bash Skript zur PDF Zusammenführung mit Fehlerbehandlung Source: https://context7.com/wsgtcyx/pdf-zusammenfugen-agent-skills/llms.txt Dieses Bash-Skript demonstriert die Verwendung des `merge_pdfs.py` Python-Skripts zur Zusammenführung von PDF-Dateien und zeigt verschiedene Fehlerfälle auf. Es behandelt Szenarien wie nicht gefundene Eingabedateien, ungültige Dateiformate, verschlüsselte PDFs und bereits existierende Ausgabedateien. Die Ausgabe des Skripts enthält spezifische Fehlermeldungen für jeden Fehlerfall. ```bash # Fehler: Datei nicht gefunden python3 scripts/merge_pdfs.py -o out.pdf nicht_vorhanden.pdf # [error] Input file not found: /pfad/nicht_vorhanden.pdf # Fehler: Keine PDF-Datei python3 scripts/merge_pdfs.py -o out.pdf dokument.txt # [error] Input is not a PDF file: /pfad/dokument.txt # Fehler: Passwortgeschütztes PDF python3 scripts/merge_pdfs.py -o out.pdf geschuetzt.pdf # [error] Encrypted PDF cannot be opened without password: geschuetzt.pdf # Fehler: Ausgabe existiert bereits (ohne --overwrite) python3 scripts/merge_pdfs.py -o existiert.pdf input.pdf # [error] Output already exists: existiert.pdf (use --overwrite to replace) ``` -------------------------------- ### Einrichten der Python-Umgebung (Bash) Source: https://context7.com/wsgtcyx/pdf-zusammenfugen-agent-skills/llms.txt Erstellt und aktiviert eine virtuelle Python-Umgebung und installiert die 'pypdf'-Bibliothek für die lokale PDF-Verarbeitung. Bietet 'PyPDF2' als Fallback-Option. ```bash # Virtuelle Umgebung erstellen und aktivieren python3 -m venv .venv source .venv/bin/activate # PDF-Backend installieren (pypdf bevorzugt) python -m pip install pypdf # Alternative: PyPDF2 als Fallback python -m pip install PyPDF2 ``` -------------------------------- ### Agent-Aufruf Beispiel (Bash) Source: https://context7.com/wsgtcyx/pdf-zusammenfugen-agent-skills/llms.txt Zeigt ein Beispiel für die Aktivierung des 'pdf-zusammenfuegen-workflow' Skills durch einen Benutzer im Chat. Der Agent erkennt die Absicht des Benutzers und aktiviert den entsprechenden Workflow. ```bash # Agent-Aufruf im Chat # Benutzer: "Füge meine Bewerbungsdokumente zusammen" # Agent aktiviert: $pdf-zusammenfuegen-workflow ``` -------------------------------- ### Agent-Integration Konfiguration (YAML) Source: https://context7.com/wsgtcyx/pdf-zusammenfugen-agent-skills/llms.txt Konfiguriert den 'PDF Zusammenfügen Workflow' Skill für OpenAI-kompatible Agenten. Definiert den Anzeigenamen, eine kurze Beschreibung und eine Standard-Prompt für die deutschsprachige Benutzeroberfläche. ```yaml # agents/openai.yaml interface: display_name: "PDF Zusammenfügen Workflow" short_description: "Sicherer PDF-Workflow für deutsche Bewerbungen" default_prompt: "Nutze $pdf-zusammenfuegen-workflow, um PDFs datenschutzorientiert zu verbinden und eine strukturierte Bewerbungs-PDF zu erstellen." ``` -------------------------------- ### Zusammenführen von PDF-Dateien (Bash) Source: https://context7.com/wsgtcyx/pdf-zusammenfugen-agent-skills/llms.txt Führt mehrere PDF-Dateien in der angegebenen Reihenfolge zu einer einzelnen Ausgabedatei zusammen. Das Skript 'merge_pdfs.py' wird verwendet, und die Ausgabe wird auf der Konsole angezeigt. ```bash # Grundlegende PDF-Zusammenführung python3 scripts/merge_pdfs.py \ --output ./output/merged.pdf \ ./input/dokument1.pdf \ ./input/dokument2.pdf \ ./input/dokument3.pdf # Ausgabe: # [ok] backend: pypdf # [ok] merged files: 3 # [ok] merged pages: 12 # [ok] output: /pfad/zur/output/merged.pdf ``` -------------------------------- ### Programmatische PDF-Zusammenführung (Python) Source: https://context7.com/wsgtcyx/pdf-zusammenfugen-agent-skills/llms.txt Bietet eine Python-API zur programmatischen Zusammenführung von PDF-Dateien. Beinhaltet Funktionen zum Laden des Backends (pypdf oder PyPDF2) und zum Zusammenführen von PDFs mit Fehlerbehandlung für überschriebene Dateien. ```python #!/usr/bin/env python3 from pathlib import Path # Backend laden (pypdf oder PyPDF2 als Fallback) def load_backend(): try: from pypdf import PdfReader, PdfWriter return PdfReader, PdfWriter, "pypdf" except ImportError: from PyPDF2 import PdfReader, PdfWriter return PdfReader, PdfWriter, "PyPDF2" # PDFs zusammenführen def merge_pdfs(output: Path, inputs: list[Path], overwrite: bool) -> int: PdfReader, PdfWriter, backend = load_backend() if output.exists() and not overwrite: raise FileExistsError(f"Output existiert bereits: {output}") writer = PdfWriter() for src in inputs: with src.open("rb") as fh: reader = PdfReader(fh) for page in reader.pages: writer.add_page(page) with output.open("wb") as out_fh: writer.write(out_fh) return 0 # Beispielaufruf inputs = [Path("anschreiben.pdf"), Path("lebenslauf.pdf")] merge_pdfs(Path("bewerbung.pdf"), inputs, overwrite=True) ``` -------------------------------- ### Überschreiben existierender PDF-Dateien (Bash) Source: https://context7.com/wsgtcyx/pdf-zusammenfugen-agent-skills/llms.txt Verwendet die `--overwrite` Option, um eine bereits existierende Ausgabedatei zu ersetzen. Zeigt die Verwendung der Kurzform mit `-o` für die Ausgabe an. ```bash # Mit Überschreiben-Option falls Zieldatei existiert python3 scripts/merge_pdfs.py \ --overwrite \ --output ./output/merged.pdf \ ./input/a.pdf \ ./input/b.pdf # Kurzform mit -o für Output python3 scripts/merge_pdfs.py -o ./bewerbung.pdf --overwrite \ ./anschreiben.pdf \ ./lebenslauf.pdf ``` -------------------------------- ### Erstellen einer Bewerbungsmappe (Bash) Source: https://context7.com/wsgtcyx/pdf-zusammenfugen-agent-skills/llms.txt Erstellt eine Bewerbungs-PDF mit der empfohlenen Dokumentenreihenfolge für deutsche Bewerbungsunterlagen. Zeigt die erwartete Konsolenausgabe nach erfolgreicher Zusammenführung. ```bash # Bewerbungs-PDF mit korrekter Reihenfolge erstellen python3 scripts/merge_pdfs.py \ --output ./bewerbung/bewerbungsmappe_mueller.pdf \ ./bewerbung/01_anschreiben.pdf \ ./bewerbung/02_lebenslauf.pdf \ ./bewerbung/03_arbeitszeugnis_firma_a.pdf \ ./bewerbung/04_arbeitszeugnis_firma_b.pdf \ ./bewerbung/05_zertifikate.pdf # Ausgabe: # [ok] backend: pypdf # [ok] merged files: 5 # [ok] merged pages: 8 # [ok] output: /home/user/bewerbung/bewerbungsmappe_mueller.pdf ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.