Програмний друк PDF за допомогою Java

Друк PDF-документів часто є ключовою функцією в різних компаніях і організаціях. Ви можете легко надрукувати PDF-файл програмним шляхом за допомогою мови Java. Ви можете працювати з API Aspose.PDF for Java, налаштувавши його у своєму середовищі. Розглянемо різні сценарії друку PDF, які можливі у ваших програмах Java:

Роздрукуйте файл PDF за допомогою Java

Ви можете легко надрукувати файл PDF за допомогою коду Java, виконавши наведені нижче дії.

  1. Створіть об’єкт PdfViewer.
  2. Завантажити вхідний файл PDF
  3. Роздрукуйте файл PDF

Наведений нижче фрагмент коду показує, як програмно друкувати файли PDF за допомогою Java:

//Створити об'єкт PdfViewer
PdfViewer viewer = new PdfViewer();
//Відкрити вхідний файл PDF
viewer.bindPdf(dataDir + "Test.pdf");
//Роздрукувати документ PDF
viewer.printDocument();
//Закрити файл PDF
viewer.close();

Друк кількох PDF-документів за допомогою Java

Друк кількох файлів або пакетний друк PDF-файлів є простим процесом за допомогою мови Java. Ви можете надрукувати кілька PDF-файлів, виконавши наведені нижче дії.

  1. Ініціалізація списку типу String
  2. Додайте кілька PDF-файлів для друку
  3. Друк документів PDF

У наступному коді показано, як надрукувати кілька файлів PDF за допомогою мови Java:

// Ініціалізація списку типу String
List<String> files = new ArrayList<>();

// Додайте кілька файлів для друку
files.add(dataDir + "First.pdf");
files.add(dataDir + "Second.pdf");

// Обробляйте кожен файл для друку
for (String file : files)
{
    //Створити об'єкт PdfViewer
    PdfViewer viewer = new PdfViewer();
    //Відкрити вхідний файл PDF
    viewer.bindPdf(file);
    //Роздрукувати документ PDF
    viewer.printDocument();
    //Закрити файл PDF
    viewer.close();
}

Друк певних сторінок або діапазону сторінок за допомогою Java

API дає вам великий контроль під час друку PDF-файлів. Ви можете працювати з різними полями та методами під час друку файлів відповідно до ваших вимог. Наприклад, якщо ви не хочете друкувати всі сторінки PDF-файлу, а лише кілька сторінок. Це може бути безперервний діапазон сторінок, як-от від сторінки номер 3 до сторінки номер 7, або це можуть бути випадкові сторінки, як-от номер сторінки 1, 5 і 6. Ви можете охопити обидва сценарії, виконавши такі дії:

  1. Ініціалізація об’єкта PdfViewer.
  2. Встановити атрибути для друку
  3. Створення об’єктів для параметрів принтера та сторінки
  4. Укажіть, чи потрібно друкувати всі сторінки, певні сторінки чи безперервний діапазон сторінок
  5. Роздрукуйте документ PDF за допомогою параметрів принтера та сторінки

Наступний код показує, як надрукувати певні сторінки або діапазон сторінок у документі PDF за допомогою Java:

// Створити об'єкт PdfViewer
PdfViewer viewer = new PdfViewer();
// Відкрити вхідний файл PDF
viewer.bindPdf(dataDir + "test.pdf");
// Встановити атрибути для друку
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

// Створення об’єктів для параметрів принтера та сторінки та PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();
// Встановіть назву принтера
ps.setPrinterName("Microsoft Print to PDF");

// ps.setPrintRange(2); // 0 = усі сторінки; 1 = вибір; 2 = кілька сторінок
// ps.setFromPage(1);
// ps.setToPage(2);


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


// Роздрукуйте документ за допомогою параметрів принтера та сторінки
viewer.printDocumentWithSettings(pgs, ps);

Друкуйте захищений PDF за допомогою Java

Іноді PDF-файли захищені або зашифровані паролями, щоб забезпечити авторизований доступ до даних. Ви можете легко отримати доступ і роздрукувати захищений або зашифрований PDF-файл за допомогою коду Java та роздрукувати файл відповідно до ваших вимог. Вам потрібно виконати наведені нижче дії.

  1. Завантажте захищений паролем вхідний PDF-файл із паролем
  2. Ініціалізація об’єкта PdfViewer.
  3. Роздрукуйте документ PDF

Наведений нижче код базується на цих кроках і пояснює, як надрукувати захищені файли PDF за допомогою коду Java:

//Завантажте безпечний PDF-документ, вказавши пароль користувача або власника
Document document = new Document(dataDir + "Password.pdf" , "userORowner");
//Створити об'єкт PdfViewer
PdfViewer viewer = new PdfViewer();
//Відкрити вхідний файл PDF
viewer.bindPdf(document);
//Роздрукувати документ PDF
viewer.printDocument();
//Закрити файл PDF
viewer.close();

Перевірте статус завдання друку під час друку PDF за допомогою Java

Ви можете стежити за станом завдання друку після того, як файл буде надіслано до черги друку принтера. Це дозволяє вашій програмі визначити, чи був друк успішним чи ні. Клас PdfViewer надає метод getPrintStatus, який допомагає перевірити статус завдання друку. Наприклад, під час друку PDF у форматі XPS ви можете отримати статус, виконавши наведені нижче дії.

  1. Завантажити вхідний файл PDF
  2. Встановити атрибути для друку
  3. Створення об’єктів для параметрів принтера та сторінки
  4. Встановіть назву принтера
  5. Роздрукувати вихідні дані у файл
  6. Перевірте стан друку

Наступний код показує, як перевірити статус завдання друку під час друку PDF за допомогою коду Java:

// Створіть об'єкт PdfViewer
PdfViewer viewer = new PdfViewer();
// Відкрити вхідний файл PDF
viewer.bindPdf(dataDir + "test.pdf");
// Встановити атрибути для друку
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

// Створення об’єктів для параметрів принтера та сторінки та PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();

// Встановіть назву принтера
ps.setPrinterName("Microsoft Print to PDF");


// Назва отриманого роздруківки
ps.setPrintFileName(dataDir + "ResultantPrintout.xps");

// Роздрукувати вихідні дані у файл
ps.setPrintToFile(true);

// Роздрукуйте документ із зазначеними вище налаштуваннями
viewer.printDocumentWithSettings(pgs, ps);

// Перевірте стан друку
if (viewer.getPrintStatus() != null)
{
    // Було створено виняток
    Exception ex = (Exception)viewer.getPrintStatus();
    if (ex != null)
    {
        // Отримати повідомлення про винятки
    }
}
else
{
    // Помилок не виявлено. Завдання друку успішно завершено
    System.out.println("printing completed without any issue..");
}

Висновок

Ми досліджували різні сценарії, пов’язані з друком PDF-файлів у ваших програмах Java. Ви можете легко інтегрувати ці функції у ваші веб-програми, консольні програми або будь-який інший тип проекту, з яким ви працюєте, використовуючи мову Java. Ви можете глибше вивчити API, ознайомившись із посиланнями на API або документацією продукту. Існує багато інших можливих сценаріїв, пов’язаних із друком PDF, і ви можете вільно обговорити з нами через Безкоштовний форум підтримки. Будемо раді допомогти!

Дивись також