Tiskněte PDF pomocí Java programově

Tisk dokumentů PDF je často klíčovou funkcí v různých společnostech a organizacích. Soubor PDF můžete snadno vytisknout programově pomocí jazyka Java. S Aspose.PDF for Java API můžete pracovat tak, že jej nakonfigurujete ve svém prostředí. Pojďme si projít různé scénáře tisku PDF, které jsou možné ve vašich aplikacích Java:

Tisk souboru PDF pomocí Java

Soubor PDF můžete snadno vytisknout pomocí kódu Java podle následujících kroků:

  1. Vytvořte objekt PdfViewer
  2. Načíst vstupní soubor PDF
  3. Vytiskněte soubor PDF

Níže uvedený úryvek kódu ukazuje, jak tisknout soubory PDF programově pomocí Java:

//Vytvořte objekt PdfViewer
PdfViewer viewer = new PdfViewer();
//Otevřete vstupní soubor PDF
viewer.bindPdf(dataDir + "Test.pdf");
//Tisk dokumentu PDF
viewer.printDocument();
//Zavřete soubor PDF
viewer.close();

Tisk více dokumentů PDF pomocí Java

Tisk více souborů nebo dávkový tisk souborů PDF je jednoduchý proces využívající jazyk Java. Pomocí následujících kroků můžete vytisknout řadu souborů PDF:

  1. Inicializujte seznam typu String
  2. Přidejte více souborů PDF k tisku
  3. Tisk dokumentů PDF

Následující kód ukazuje, jak tisknout více souborů PDF pomocí jazyka Java:

// Inicializujte seznam typu String
List<String> files = new ArrayList<>();

// Přidejte více souborů k tisku
files.add(dataDir + "First.pdf");
files.add(dataDir + "Second.pdf");

// Zpracujte každý soubor k tisku
for (String file : files)
{
    //Vytvořte objekt PdfViewer
    PdfViewer viewer = new PdfViewer();
    //Otevřete vstupní soubor PDF
    viewer.bindPdf(file);
    //Tisk dokumentu PDF
    viewer.printDocument();
    //Zavřete soubor PDF
    viewer.close();
}

Tisk konkrétních stránek nebo rozsahu stránek pomocí Java

Rozhraní API vám poskytuje velkou kontrolu při tisku souborů PDF. Při tisku souborů můžete pracovat s různými poli a metodami podle vašich požadavků. Pokud například nechcete vytisknout všechny stránky souboru PDF a pouze několik stránek. Může to být nějaký souvislý rozsah stránek, jako od stránky číslo 3 do stránky číslo 7, nebo to mohou být náhodné stránky jako stránka číslo 1, 5 a 6. Oba scénáře můžete pokrýt pomocí následujících kroků:

  1. Inicializujte objekt PdfViewer
  2. Nastavte atributy pro tisk
  3. Vytvořte objekty pro nastavení tiskárny a stránky
  4. Zadejte, zda chcete vytisknout všechny stránky, konkrétní stránky nebo souvislý rozsah stránek
  5. Vytiskněte dokument PDF pomocí nastavení tiskárny a stránky

Následující kód ukazuje, jak vytisknout konkrétní stránky nebo rozsah stránek v dokumentu PDF pomocí Java:

// Vytvořte objekt PdfViewer
PdfViewer viewer = new PdfViewer();
// Otevřete vstupní soubor PDF
viewer.bindPdf(dataDir + "test.pdf");
// Nastavte atributy pro tisk
viewer.setAutoResize(true); // Print the file with adjusted size
viewer.setAutoRotate(true); // Print the file with adjusted rotation
viewer.setPrintPageDialog(false); // Do not produce the page number dialog when printing

// Vytvářejte objekty pro nastavení tiskárny a stránky a PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();
// Nastavte název tiskárny
ps.setPrinterName("Microsoft Print to PDF");

// ps.setPrintRange(2); // 0 = všechny stránky; 1 = výběr; 2 = několik stránek
// ps.setFromPage(1);
// ps.setToPage(2);


ps.setPrintRange(1); // 0 = all pages; 1 = selection; 2 = some pages
ps.setSelectedPages(new int[]{1, 3, 5});


// Tisk dokumentu pomocí nastavení tiskárny a stránky
viewer.printDocumentWithSettings(pgs, ps);

Tisk zabezpečeného PDF pomocí Java

Někdy jsou soubory PDF zabezpečeny nebo šifrovány hesly, aby byl zajištěn autorizovaný přístup k datům. Můžete snadno přistupovat a tisknout zabezpečený nebo šifrovaný soubor PDF pomocí kódu Java a tisknout soubor podle vašich požadavků. Musíte postupovat podle následujících kroků:

  1. Načtěte heslem chráněný vstupní soubor PDF s heslem
  2. Inicializujte objekt PdfViewer
  3. Vytiskněte dokument PDF

Níže uvedený kód je založen na těchto krocích, které vysvětlují, jak vytisknout zabezpečené soubory PDF pomocí kódu Java:

//Načtěte zabezpečený dokument PDF při zadání hesla uživatele nebo vlastníka
Document document = new Document(dataDir + "Password.pdf" , "userORowner");
//Vytvořte objekt PdfViewer
PdfViewer viewer = new PdfViewer();
//Otevřete vstupní soubor PDF
viewer.bindPdf(document);
//Tisk dokumentu PDF
viewer.printDocument();
//Zavřete soubor PDF
viewer.close();

Při tisku PDF pomocí Java zkontrolujte stav tiskové úlohy

Po odeslání souboru do tiskové fronty tiskárny můžete sledovat stav tiskové úlohy. To umožňuje vaší aplikaci rozhodnout, zda byl tisk úspěšný či nikoli. Třída PdfViewer zpřístupňuje metodu getPrintStatus, která vám pomůže zkontrolovat stav tiskové úlohy. Například při tisku PDF do formátu XPS můžete získat stav podle následujících kroků:

  1. Načíst vstupní soubor PDF
  2. Nastavte atributy pro tisk
  3. Vytvořte objekty pro nastavení tiskárny a stránky
  4. Nastavte název tiskárny
  5. Vytiskněte výstup do souboru
  6. Zkontrolujte stav tisku

Následující kód ukazuje, jak zkontrolovat stav tiskové úlohy během tisku PDF pomocí kódu Java:

// Vytvořte objekt PdfViewer
PdfViewer viewer = new PdfViewer();
// Otevřete vstupní soubor PDF
viewer.bindPdf(dataDir + "test.pdf");
// Nastavte atributy pro tisk
viewer.setAutoResize(true); // Print the file with adjusted size
viewer.setAutoRotate(true); // Print the file with adjusted rotation
viewer.setPrintPageDialog(false); // Do not produce the page number dialog when printing

// Vytvářejte objekty pro nastavení tiskárny a stránky a PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();

// Nastavte název tiskárny
ps.setPrinterName("Microsoft Print to PDF");


// Název výsledného výtisku
ps.setPrintFileName(dataDir + "ResultantPrintout.xps");

// Vytiskněte výstup do souboru
ps.setPrintToFile(true);

// Vytiskněte dokument s výše uvedeným nastavením
viewer.printDocumentWithSettings(pgs, ps);

// Zkontrolujte stav tisku
if (viewer.getPrintStatus() != null)
{
    // Byla vyvolána výjimka
    Exception ex = (Exception)viewer.getPrintStatus();
    if (ex != null)
    {
        // Získejte zprávu o výjimce
    }
}
else
{
    // Nebyly nalezeny žádné chyby. Tisková úloha byla úspěšně dokončena
    System.out.println("printing completed without any issue..");
}

Závěr

Prozkoumali jsme různé scénáře související s tiskem souborů PDF ve vašich aplikacích Java. Tyto funkce můžete snadno integrovat do svých webových aplikací, konzolových aplikací nebo jakéhokoli jiného typu projektu, se kterým pracujete, pomocí jazyka Java. Rozhraní API můžete dále prozkoumat, když se poučíte z odkazů na API nebo dokumentace k produktu. Existuje mnohem více možných scénářů souvisejících s tiskem PDF a můžete s námi volně diskutovat prostřednictvím Free Support Forum. Rádi vám pomůžeme!

Viz také