Generování kompaktních, tisknutelných PDF z více stránek je častou potřebou pro zprávy, katalogy a příručky. Aspose.PDF for Python via .NET poskytuje robustní SDK, které vám umožní programově vytvořit PDF brožuru v Pythonu s detailní kontrolou. V tomto průvodci uvidíte, jak nastavit prostředí, vytvořit brožuru, volitelně přidat záložky a exportovat finální dokument.
Co je PDF brožura?
PDF brožura je dokument uspořádaný tak, aby bylo možné vytisknout, složit a číst více stránek jako malou knížku, příručku, leták nebo katalog. Místo toho, aby stránky byly v normálním sekvenčním pořadí, generování brožury přeskupuje stránky tak, aby se po tisku a složení správné stránky objevily vedle sebe.
Například rozložení brožury může umístit jednu stránku na levé straně listu a druhou stránku na pravé straně. Při oboustranném tisku a složení se stránky zobrazí ve správném pořadí čtení.
Brožury se běžně používají pro:
- Katalogy produktů
- Programy akcí
- Školící příručky
- Zprávy
- Instrukční příručky
- Firemní profily
- Brožury
- Malé tisknutelné knihy
V Pythonu můžete tento proces automatizovat místo ručního přeskupování stránek v editoru PDF.
Python PDF generátor brožur API
Pro vytvoření PDF brožury v Pythonu použijeme Aspose.PDF for Python via .NET. Jedná se o API pro zpracování PDF, které umožňuje vývojářům Pythonu programově vytvářet, upravovat, konvertovat, rozdělovat, slučovat, zabezpečovat, anotovat a manipulovat s PDF soubory.
Pro vytvoření brožury je klíčová třída:
pdf.facades.PdfFileEditor()
Třída PdfFileEditor poskytuje pokročilé funkce pro manipulaci se soubory PDF. V tomto tutoriálu použijeme její metodu make_booklet(), abychom převedli existující PDF do rozložení brožury.
Krok 1: Instalace Aspose.PDF SDK
Nejprve nainstalujte Aspose.PDF for Python via .NET pomocí pip:
pip install aspose-pdf
Krok 2: Připravte vstupní PDF
Před vytvořením brožury se ujistěte, že již máte zdrojový soubor PDF. Pro tento tutoriál použijeme následující název souboru:
input.pdf
Výstupní brožura bude uložena jako:
booklet.pdf
Umístěte vstupní PDF do stejného adresáře jako váš Python skript nebo zadejte úplnou cestu k souboru.
Příklad:
project-folder/
│
├── input.pdf
└── create_booklet.py
Krok 3: Vytvořte jednoduchý PDF brožuru v Pythonu
Nejjednodušší způsob, jak vytvořit brožuru, je zavolat make_booklet() s vstupním souborem, výstupním souborem a cílovou velikostí stránky.
Následující Python kód vytváří brožuru s velikostí stránky A5:
import aspose.pdf as pdf
# Create PdfFileEditor object
pdf_editor = pdf.facades.PdfFileEditor()
# Create booklet from input PDF
pdf_editor.make_booklet(
"input.pdf",
"booklet.pdf",
pdf.PageSize.a5
)
print("PDF booklet created successfully.")
Tento kód načte input.pdf, uspořádá jeho stránky do formátu brožury a uloží výsledek jako booklet.pdf.
Krok 4: Vytvořte vlastní PDF brožuru s levými a pravými stránkami
V mnoha případech můžete chtít řídit, které stránky se zobrazí na levé straně a které na pravé straně rozvržení brožury.
Následující příklad je založen na původním kódu C# a převádí jej do Pythonu:
import aspose.pdf as pdf
# Create PdfFileEditor object
pdf_editor = pdf.facades.PdfFileEditor()
# Set left and right pages
left_pages = [1, 5]
right_pages = [2, 3]
# Make booklet
pdf_editor.make_booklet(
"input.pdf",
"booklet.pdf",
pdf.PageSize.a5,
left_pages,
right_pages
)
print("PDF booklet created successfully.")
Vysvětlení kódu
Rozložme kód.
Nejprve importujte balíček Aspose.PDF:
import aspose.pdf as pdf
Pak vytvořte instanci PdfFileEditor:
pdf_editor = pdf.facades.PdfFileEditor()
Tento objekt poskytuje přístup k pokročilým funkcím úpravy PDF, včetně tvorby brožur.
Dále definujte uspořádání stránky:
left_pages = [1, 5]
right_pages = [2, 3]
Seznam left_pages určuje stránky, které se zobrazí na levé straně rozložení brožury. Seznam right_pages určuje stránky, které se zobrazí na pravé straně.
Nakonec zavolejte metodu make_booklet():
pdf_editor.make_booklet(
"input.pdf",
"booklet.pdf",
pdf.PageSize.a5,
left_pages,
right_pages
)
Toto vytvoří brožuru a uloží ji jako booklet.pdf.
Kompletní Python kód
Zde je kompletní ukázkový kód pro vytvoření PDF brožury v Pythonu:
import aspose.pdf as pdf
def create_pdf_booklet(input_pdf: str, output_pdf: str) -> None:
"""
Create a PDF booklet from an existing PDF file using Aspose.PDF for Python via .NET.
Args:
input_pdf: Path to the source PDF file.
output_pdf: Path where the generated booklet PDF will be saved.
"""
# Create PdfFileEditor object
pdf_editor = pdf.facades.PdfFileEditor()
# Set left and right pages
left_pages = [1, 5]
right_pages = [2, 3]
# Make booklet
pdf_editor.make_booklet(
input_pdf,
output_pdf,
pdf.PageSize.a5,
left_pages,
right_pages
)
if __name__ == "__main__":
create_pdf_booklet(
input_pdf="input.pdf",
output_pdf="booklet.pdf"
)
print("PDF booklet created successfully.")
Krok 5: Přidat volitelné záložky do brožury
Po vytvoření brožury můžete chtít přidat záložky, aby byla navigace snazší. Záložky jsou užitečné pro zprávy, příručky, katalogy, školící materiály a další dlouhé dokumenty.
Následující příklad nejprve vytvoří brožuru a poté přidá záložky do vygenerovaného PDF:
import aspose.pdf as pdf
def create_pdf_booklet(input_pdf: str, output_pdf: str) -> None:
"""
Create a PDF booklet from an existing PDF file.
"""
pdf_editor = pdf.facades.PdfFileEditor()
left_pages = [1, 5]
right_pages = [2, 3]
pdf_editor.make_booklet(
input_pdf,
output_pdf,
pdf.PageSize.a5,
left_pages,
right_pages
)
def add_bookmarks(input_pdf: str, output_pdf: str) -> None:
"""
Add bookmarks to an existing PDF document.
"""
# Open generated booklet PDF
document = pdf.Document(input_pdf)
# Add bookmark for first page
first_bookmark = pdf.OutlineItemCollection(document.outlines)
first_bookmark.title = "Booklet Start"
first_bookmark.bold = True
first_bookmark.action = pdf.annotations.GoToAction(document.pages[1])
document.outlines.append(first_bookmark)
# Add bookmark for second page, if available
if len(document.pages) >= 2:
second_bookmark = pdf.OutlineItemCollection(document.outlines)
second_bookmark.title = "Second Spread"
second_bookmark.action = pdf.annotations.GoToAction(document.pages[2])
document.outlines.append(second_bookmark)
# Save PDF with bookmarks
document.save(output_pdf)
if __name__ == "__main__":
create_pdf_booklet(
input_pdf="input.pdf",
output_pdf="booklet.pdf"
)
add_bookmarks(
input_pdf="booklet.pdf",
output_pdf="booklet-with-bookmarks.pdf"
)
print("PDF booklet with bookmarks created successfully.")
Tento kód vytváří dva výstupní soubory:
booklet.pdf
booklet-with-bookmarks.pdf
První soubor obsahuje rozvržení brožury. Druhý soubor obsahuje brožuru s přidanými záložkami.
Výběr správné velikosti stránky
V příkladech výše jsme použili velikost stránky A5:
pdf.PageSize.a5
Formát A5 se běžně používá pro brožury, protože je kompaktní a vhodný pro tištěné příručky, letáky a malé katalogy.
Můžete použít jiné velikosti stránek podle požadavků na výstup. Například pokud vytváříte větší brožuru, můžete použít formát A4. Pokud připravujete kompaktní příručku, může být vhodnější formát A5.
Běžné případy použití brožury zahrnují:
| Případ použití | Navrhovaná velikost stránky |
|---|---|
| Malý manuál | A5 |
| Katalog produktů | A5 nebo A4 |
| Program akce | A5 |
| Výukový materiál | A4 nebo A5 |
| Firemní brožura | A5 |
Nejlepší postupy pro vytváření PDF brožur
Při programovém generování brožur mějte na paměti následující body.
1. Použijte čistý zdrojový PDF
Váš vstupní PDF by již měl být správně formátován. Generování brožury přeskupuje stránky, ale nepřepisuje vnitřní obsah každé stránky.
Před vytvořením brožury zkontrolujte:
- Okraje stránky
- Umístění záhlaví a zápatí
- Vkládání fontů
- Kvalita obrázku
- Orientace stránky
- Přesah nebo oblasti bezpečného tisku
2. Zkontrolovat počet stránek
Brožury fungují nejlépe, když je počet stran vhodný pro skládání a tisk. Pokud počet stran není dokonale vyrovnaný, může být nutné přidat prázdné stránky.
Například brožura může vyžadovat stránky v násobcích čtyř, protože každý složený list vytváří čtyři strany.
3. Test tisku před hromadným tiskem
Vždy vytiskněte testovací kopii před odesláním brožury k hromadnému tisku. Prohlížeče PDF a nastavení tiskárny mohou ovlivnit měřítko, okraje, duplexní režim a orientaci stránky.
Doporučená nastavení tiskárny mohou zahrnovat:
- Tisk na obou stranách
- Přetočit na krátkém nebo dlouhém okraji, v závislosti na tiskárně
- Skutečná velikost
- Žádné automatické škálování
- Správná velikost papíru
4. Přidat záložky pro digitální kopie
Pokud bude brožura také sdílena digitálně, záložky zlepšují navigaci. Pomáhají čtenářům rychle přejít na důležité sekce.
Záložky jsou zvláště užitečné pro:
- Dlouhé zprávy
- Technické manuály
- Politické dokumenty
- Katalogy produktů
- Školící materiál
5. Používejte jasné názvy souborů
Používejte popisná jména pro výstupní soubory, zejména při generování dokumentů ve šaržovém režimu.
Například:
employee-handbook-booklet.pdf
product-catalog-booklet.pdf
training-manual-booklet.pdf
Běžné chyby a opravy
Chyba: ModuleNotFoundError: Žádný modul s názvem ‘aspose’
To znamená, že balíček Aspose.PDF není nainstalován ve vašem aktuálním prostředí Pythonu.
pip install aspose-pdf
Pokud používáte virtuální prostředí, ujistěte se, že je aktivováno před instalací balíčku.
Chyba: Vstupní PDF nebylo nalezeno
Pokud váš skript nemůže najít vstupní soubor, zkontrolujte cestu k souboru.
Místo:
"input.pdf"
Použijte absolutní cestu:
"C:/Users/YourName/Documents/input.pdf"
Nebo na Linux/macOS:
"/home/user/documents/input.pdf"
Chyba: Výstup brožury není v očekávaném pořadí
Pokud používáte vlastní pole levých a pravých stránek, ověřte, že čísla stránek odpovídají stránkám ve zdrojovém PDF.
Příklad:
left_pages = [1, 5]
right_pages = [2, 3]
Tyto hodnoty by měly být vybrány na základě požadovaného uspořádání rozložení brožury.
Chyba: Záložky se nezobrazují
Pokud se v prohlížeči PDF nezobrazují záložky, zkontrolujte, zda má prohlížeč povolený panel záložek. Některé prohlížeče PDF ve výchozím nastavení záložky skrývají.
Můžete také nastavit režim stránky dokumentu tak, aby zobrazoval osnovy:
document.page_mode = pdf.PageMode.USE_OUTLINES
Přidejte toto před uložením PDF:
document.save(output_pdf)
Vytvoření PDF brožury v Pythonu: finální kód
Následující finální kód vytvoří PDF brožuru, přidá záložky a uloží výsledek:
import aspose.pdf as pdf
def create_pdf_booklet(input_pdf: str, booklet_pdf: str) -> None:
"""
Create a custom PDF booklet using Aspose.PDF for Python via .NET.
"""
pdf_editor = pdf.facades.PdfFileEditor()
left_pages = [1, 5]
right_pages = [2, 3]
pdf_editor.make_booklet(
input_pdf,
booklet_pdf,
pdf.PageSize.a5,
left_pages,
right_pages
)
def add_bookmarks_to_booklet(booklet_pdf: str, output_pdf: str) -> None:
"""
Add bookmarks to the generated booklet PDF.
"""
document = pdf.Document(booklet_pdf)
start_bookmark = pdf.OutlineItemCollection(document.outlines)
start_bookmark.title = "Booklet Start"
start_bookmark.bold = True
start_bookmark.action = pdf.annotations.GoToAction(document.pages[1])
document.outlines.append(start_bookmark)
if len(document.pages) >= 2:
second_bookmark = pdf.OutlineItemCollection(document.outlines)
second_bookmark.title = "Second Spread"
second_bookmark.action = pdf.annotations.GoToAction(document.pages[2])
document.outlines.append(second_bookmark)
document.page_mode = pdf.PageMode.USE_OUTLINES
document.save(output_pdf)
if __name__ == "__main__":
input_pdf = "input.pdf"
booklet_pdf = "booklet.pdf"
final_pdf = "booklet-with-bookmarks.pdf"
create_pdf_booklet(input_pdf, booklet_pdf)
add_bookmarks_to_booklet(booklet_pdf, final_pdf)
print("PDF booklet created successfully:", final_pdf)
Závěr
V tomto tutoriálu jste se naučili, jak vytvořit PDF brožuru v Pythonu pomocí Aspose.PDF for Python via .NET. Nainstalovali jste SDK, vytvořili brožuru z existujícího PDF, nakonfigurovali umístění levých a pravých stránek, přidali volitelné záložky a uložili finální brožuru jako PDF soubor.
Metoda PdfFileEditor.make_booklet() je užitečná, když potřebujete automatizovat tvorbu brožur pro zprávy, katalogy, příručky, letáky a tisknutelnou dokumentaci. Kombinací tvorby brožur se záložkami můžete generovat PDF soubory, které jsou vhodné jak pro tisk, tak pro digitální distribuci.
