Skriv ut PDF med Java Programmatically

Att skriva ut PDF-dokument är ofta en nyckelfunktion i olika företag och organisationer. Du kan enkelt skriva ut en PDF-fil programmatiskt med Java-språk. Du kan arbeta med Aspose.PDF for Java API genom att konfigurera det i din miljö. Låt oss gå igenom olika scenarier för PDF-utskrift som är möjliga i dina Java-applikationer:

Skriv ut PDF-fil med Java

Du kan enkelt skriva ut en PDF-fil med Java-kod genom att följa stegen nedan:

  1. Skapa PdfViewer objekt
  2. Ladda inmatad PDF-fil
  3. Skriv ut PDF-filen

Kodavsnittet nedan visar hur man skriver ut PDF-filer programmatiskt med Java:

//Skapa PdfViewer-objekt
PdfViewer viewer = new PdfViewer();
//Öppna inmatad PDF-fil
viewer.bindPdf(dataDir + "Test.pdf");
//Skriv ut PDF-dokument
viewer.printDocument();
//Stäng PDF-fil
viewer.close();

Skriva ut flera PDF-dokument med Java

Att skriva ut flera filer eller batchutskrift av PDF-filer är en enkel process med Java-språk. Du kan skriva ut ett antal PDF-filer genom att följa stegen nedan:

  1. Initiera en lista med strängtyp
  2. Lägg till flera PDF-filer till Print
  3. Skriv ut PDF-dokument

Följande kod visar hur du skriver ut flera PDF-filer med Java-språk:

// Initiera en lista med strängtyp
List<String> files = new ArrayList<>();

// Lägg till flera filer som ska skrivas ut
files.add(dataDir + "First.pdf");
files.add(dataDir + "Second.pdf");

// Bearbeta varje fil för utskrift
for (String file : files)
{
    //Skapa PdfViewer-objekt
    PdfViewer viewer = new PdfViewer();
    //Öppna inmatad PDF-fil
    viewer.bindPdf(file);
    //Skriv ut PDF-dokument
    viewer.printDocument();
    //Stäng PDF-fil
    viewer.close();
}

Skriv ut specifika sidor eller sidor med Java

API:et ger dig mycket kontroll när du skriver ut PDF-filer. Du kan arbeta med olika fält och metoder medan du skriver ut filer, enligt dina krav. Till exempel, om du inte vill skriva ut alla sidor i en PDF-fil och bara ett fåtal sidor. Det kan vara ett kontinuerligt sidintervall som från sida nummer 3 till sida nummer 7, eller det kan vara slumpmässiga sidor som sida nummer 1,5 och 6. Du kan täcka båda scenarierna med följande steg:

  1. Initiera PdfViewer objekt
  2. Ställ in attribut för utskrift
  3. Skapa objekt för skrivar- och sidinställningar
  4. Ange om du vill skriva ut alla sidor, specifika sidor eller ett kontinuerligt sidintervall
  5. Skriv ut PDF-dokument med hjälp av skrivar- och sidinställningarna

Följande kod visar hur man skriver ut specifika sidor eller en rad sidor i ett PDF-dokument med Java:

// Skapa PdfViewer-objekt
PdfViewer viewer = new PdfViewer();
// Öppna inmatad PDF-fil
viewer.bindPdf(dataDir + "test.pdf");
// Ställ in attribut för utskrift
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

// Skapa objekt för skrivar- och sidinställningar och PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();
// Ställ in skrivarens namn
ps.setPrinterName("Microsoft Print to PDF");

// ps.setPrintRange(2); // 0 = alla sidor; 1 = urval; 2 = några sidor
// ps.setFromPage(1);
// ps.setToPage(2);


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


// Skriv ut dokument med skrivar- och sidinställningar
viewer.printDocumentWithSettings(pgs, ps);

Skriv ut säkrad PDF med Java

Ibland är PDF-filer säkrade eller krypterade med lösenord för att säkerställa behörig åtkomst till data. Du kan enkelt komma åt och skriva ut den säkra eller krypterade PDF-filen med Java-kod och skriva ut filen enligt dina krav. Du måste följa stegen nedan:

  1. Ladda lösenordsskyddad PDF-inmatningsfil med lösenordet
  2. Initiera objektet PdfViewer
  3. Skriv ut PDF-dokumentet

Koden nedan är baserad på dessa steg som förklarar hur man skriver ut de säkrade PDF-filerna med Java-kod:

//Ladda säkert PDF-dokument medan du anger användar- eller ägarlösenord
Document document = new Document(dataDir + "Password.pdf" , "userORowner");
//Skapa PdfViewer-objekt
PdfViewer viewer = new PdfViewer();
//Öppna inmatad PDF-fil
viewer.bindPdf(document);
//Skriv ut PDF-dokument
viewer.printDocument();
//Stäng PDF-fil
viewer.close();

Kontrollera status för utskriftsuppgift när du skriver ut PDF med Java

Du kan hålla ett öga på utskriftsjobbets status efter att filen har skickats till skrivarens utskriftskön. Detta låter din ansökan avgöra om utskriften har lyckats eller inte. PdfViewer-klassen avslöjar metoden getPrintStatus som hjälper dig att kontrollera utskriftsjobbets status. När du till exempel skriver ut en PDF till XPS-format kan du få status genom att följa stegen nedan:

  1. Ladda inmatad PDF-fil
  2. Ställ in attribut för utskrift
  3. Skapa objekt för skrivar- och sidinställningar
  4. Ställ in skrivarens namn
  5. Skriv ut utdata till fil
  6. Kontrollera utskriftsstatusen

Följande kod visar hur du kontrollerar status för utskriftsuppgiften under PDF-utskrift med Java-kod:

// Skapa PdfViewer-objekt
PdfViewer viewer = new PdfViewer();
// Öppna inmatad PDF-fil
viewer.bindPdf(dataDir + "test.pdf");
// Ställ in attribut för utskrift
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

// Skapa objekt för skrivar- och sidinställningar och PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();

// Ställ in skrivarens namn
ps.setPrinterName("Microsoft Print to PDF");


// Resulterande utskriftsnamn
ps.setPrintFileName(dataDir + "ResultantPrintout.xps");

// Skriv ut utdata till fil
ps.setPrintToFile(true);

// Skriv ut dokumentet med de inställningar som anges ovan
viewer.printDocumentWithSettings(pgs, ps);

// Kontrollera utskriftsstatusen
if (viewer.getPrintStatus() != null)
{
    // Ett undantag gjordes
    Exception ex = (Exception)viewer.getPrintStatus();
    if (ex != null)
    {
        // Få meddelande om undantag
    }
}
else
{
    // Inga fel hittades. Utskriftsjobbet har slutförts
    System.out.println("printing completed without any issue..");
}

Slutsats

Vi har utforskat olika scenarier relaterade till utskrift av PDF-filer i dina Java-applikationer. Du kan enkelt integrera dessa funktioner i dina webbapplikationer, konsolapplikationer eller någon annan typ av projekt du arbetar med, med hjälp av Java-språket. Du kan utforska API:et ytterligare genom att lära dig från API-referenser eller Produktdokumentation. Det finns många fler möjliga scenarier relaterade till PDF-utskrift och du kan fritt diskutera med oss via Free Support Forum. Vi hjälper gärna till!

Se även