![](https://products-qa.fileformat.com/ru/pdf/java/apache-pdfbox/header-image.png)
Apache PDFBox
API Java для обработки документов PDF
Библиотека Java с открытым исходным кодом для создания, печати и разделения или объединения документов PDF внутри приложений Java.
Apache PDFBox — это библиотека Java с открытым исходным кодом для работы с PDF-документами. Используя эту библиотеку, разработчики Java могут разрабатывать программы Java, которые создают новые документы PDF и легко управляют существующими документами PDF. Он также позволяет разработчикам читать и извлекать содержимое из документов PDF. В дополнение к этому PDFBox также включает в себя утилиту командной строки для выполнения различных операций с документами PDF с использованием доступного файла Jar.
Portable Document Format (PDF) — это формат файла, который помогает представлять данные таким образом, который не зависит от прикладного программного обеспечения, аппаратного обеспечения и операционных систем. Apache PDFBox поддерживает несколько расширенных функций, таких как создание, рендеринг, печать, разделение, объединение, изменение, проверка и извлечение текста и метаданных файлов PDF.
Начало работы с Apache PDFBox
Прежде всего, вам необходимо загрузить последнюю версию PDFBox со страницы скачать. Для успешной сборки PDFBox вам необходимо установить Java 7 или выше и Maven 3. Используйте следующую команду сборки
Команда установки
mvn clean instal
Команда скомпилирует исходные коды Java и по умолчанию упакует бинарные классы в пакеты jar.
Java API для создания и изменения новых PDF-документов
Apache PDFBox позволяет программистам создавать новый PDF-документ с нуля. После создания документа разработчики могут сохранить его в нужном месте. PDF является одним из наиболее часто используемых форматов файлов в настоящее время. Документы в формате PDF совместимы на различных платформах и представляют документ независимо от аппаратного обеспечения, операционной системы и прикладного программного обеспечения, которые использовались для его создания. PDFBox также помогает разработчикам изменять существующие PDF-документы. Разработчики могут добавлять новые страницы, а также текст к существующим документам страниц.
Создать PDF-документ — Java
// Create a new PDF document
PDDocument document = new PDDocument();
// Save document
document.save("fileformat.pdf");
// Close document
document.close();
Разделение и объединение документов PDF с использованием библиотеки Java
Apache PDFBox предоставляет возможность объединять несколько документов PDF в один документ PDF. Чтобы объединить несколько документов, сначала необходимо загрузить существующие PDF-документы, а затем указать путь к целевому файлу. После этого разработчики могут добавить все исходные PDF-файлы в той последовательности, в которой они хотели бы найти окончательный объединенный PDF-файл. Мы можем разделить данный PDF-документ на несколько PDF-файлов. Этот класс Splitter используется для разделения данного PDF-документа на несколько других отдельных документов.
Объединение PDF-документов — Java
// Initialize PDFMergerUtility object
PDFMergerUtility pdfMergerUtility = new PDFMergerUtility();
// Set output file path
pdfMergerUtility.setDestinationFileName("merged.pdf");
// Add source documents
pdfMergerUtility.addSource(new File("document1.pdf"));
pdfMergerUtility.addSource(new File("document2.pdf"));
// Merger documents
pdfMergerUtility.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
Добавляйте и извлекайте изображения в PDF-документы внутри Java-приложений
Apache PDFBox помогает разработчикам Java вставлять изображения в существующий документ PDF. Изображения всегда добавляют реальную ценность контенту. Изображения помогают нам учиться, привлекать внимание, объяснять концепции и вдохновлять. PDFBox предоставляет библиотеку для вставки изображения в документ PDF. Эта библиотека использует программу Java для вставки изображений в документы PDF. API также позволяет разработчикам извлекать изображения из существующего документа PDF и сохранять их на локальном диске.
Добавление изображений в PDF — Java
// Create a new PDF document
PDDocument document = new PDDocument();
// Create a new page
PDPage page = new PDPage();
// Add page
document.addPage(page);
// Initialize PDImageXObject object
PDImageXObject pdImage = PDImageXObject.createFromFile("logo.png",document);
// Initialize PDPageContentStream object
PDPageContentStream contents = new PDPageContentStream(document, page);
// Drawing image
contents.drawImage(pdImage, 70, 250);
// Close contents
contents.close();
// save document
document.save("image.pdf");
Печать PDF-документов различными способами с использованием библиотеки Java
Apache PDFBox позволяет разработчикам Java печатать документ PDF с помощью стандартного API печати Java. Это позволяет разработчикам печатать PDF-документы различными способами. Теперь разработчики могут печатать документ в его реальном размере, что является рекомендуемым способом печати. Он поддерживает печать с диалоговым окном предварительного просмотра, а также с настраиваемыми атрибутами. Разработчики также могут печатать PDF-документы, используя настраиваемый размер страницы и настраиваемые поля.
Печать PDF-файла через Java API
import java.awt.print.PrinterException;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
public class Print {
public static void main(String[] args) throws IOException, PrinterException
{
PDDocument pdf=PDDocument.load("d:\\filename.pdf");
pdf.print();
}
}