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álA5
Katalog produktůA5 nebo A4
Program akceA5
Výukový materiálA4 nebo A5
Firemní brožuraA5

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.

Číst dál