Конвертировать HTML в PDF на Java

Файлы PDF имеют много преимуществ по сравнению с другими форматами, и иногда вам может потребоваться преобразовать HTML в PDF. Это особенно полезно для создания высококачественных, удобных для печати версий веб-страниц, создания отчетов или обмена документами, которые трудно редактировать или модифицировать.

Возможность простого и надежного преобразования HTML-документов в другие форматы является одной из основных особенностей Aspose.HTML for Java. В этой статье вы найдете информацию о том, как конвертировать HTML в PDF с помощью методов convertHTML() Converter и как применять PdfSaveOptions и ICreateStreamProvider.

HTML в PDF одной строкой кода Java

Преобразование HTML в PDF – очень востребованная функция, и Aspose.HTML for Java предлагает простое решение. С помощью статических методов класса Converter вы можете преобразовать документ HTML в файл PDF всего одной строкой кода!

1// Invoke the ConvertHTML method to convert the HTML to PDF.
2Converter.convertHTML("<h1>Convert HTML to PDF!</h1>", ".", new PdfSaveOptions(), $o("convert-with-single-line.pdf"));

В примере мы используем метод convertHTML(content, baseUri, options, outputPath) класса Converter, который принимает четыре параметра: строку с HTML-кодом, который нужно преобразовать, базовую папку для входного HTML-файла, экземпляр класса PdfSaveOptions, и путь к выходному файлу, где будет сохранен преобразованный файл.

Конвертировать HTML в PDF на Java

Давайте рассмотрим пошаговые инструкции для простого сценария преобразования HTML в PDF:

  1. Загрузите файл HTML с помощью одного из конструкторов HTMLDocument() класса HTMLDocument. Вы можете загрузить HTML из файла, HTML-кода, потока или URL-адреса (см. статью Создание HTML-документа). В примере мы используем конструктор HTMLDocument(адрес), который инициализирует HTML-документ из файла.
  2. Создайте новый объект PdfSaveOptions. Используйте пустой конструктор PdfSaveOptions() для преобразования с параметрами сохранения по умолчанию.
  3. Используйте метод сonvertHTML(document, options, outputPath) класса Converter, чтобы сохранить HTML как PDF-файл.

Просмотрите следующий фрагмент кода Java, в котором показан процесс преобразования HTML в PDF с пошаговыми инструкциями:

 1// Prepare an HTML code and save it to the file.
 2String code = "<span>Hello World!!</span>";
 3try (java.io.FileWriter fileWriter = new java.io.FileWriter($o("document.html"))) {
 4    fileWriter.write(code);
 5}
 6
 7// Initialize an HTML document from the file
 8HTMLDocument document = new HTMLDocument($i("spring.html"));
 9
10// Initialize PdfSaveOptions
11PdfSaveOptions options = new PdfSaveOptions();
12
13// Convert HTML to PDF
14Converter.convertHTML(document, options, $o("spring-output.pdf"));

Параметры сохранения

Aspose.HTML for Java позволяет конвертировать HTML в PDF, используя стандартные или пользовательские параметры сохранения. PdfSaveOptions позволяет настроить процесс рендеринга. Вы можете указать размер страницы, поля, права доступа к файлу, MediaType и т. д.

MetodDescription
setJpegQuality(value)Specifies the quality of JPEG compression for images. The default value is 95.
getCss()Gets a CssOptions object which is used for configuration of CSS properties processing.
setBackgroundColor(value)Sets the color that will fill the background of every page. By default, this property is Transparent.
setPageSetup(value)This method sets a page setup object and uses it for configuration output page-set.
setHorizontalResolution(value)Sets horizontal resolution for internal images, in pixels per inch. By default this property is 300 dpi.
setVerticalResolution(value)Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi.
setEncryptionThis method gets or sets encryption details. If it is not set, then no encryption will be performed.

Для получения дополнительной информации о том, как настроить процесс преобразования с помощью ImageSaveOptions, вы можете обратиться к статье Fine-Tuning Converters.

Вы можете скачать полные примеры и файлы данных по адресу GitHub.

Конвертировать HTML в PDF с использованием PdfSaveOptions

С помощью Aspose.HTML for Java вы можете программно конвертировать файлы с полным контролем над широким диапазоном параметров конвертации. Выполните всего несколько шагов:

  1. Загрузите файл HTML с помощью одного из конструкторов HTMLDocument() класса HTMLDocument.
  2. Создайте новый объект PdfSaveOptions и укажите необходимые свойства.
  3. Используйте метод сonvertHTML() класса Converter, чтобы сохранить HTML в виде файла PDF.

В следующем примере Java показано, как использовать PdfSaveOptions и создать файл PDF с пользовательским размером страницы, полями, разрешением, цветом фона и сжатием:

 1// Initialize an HTML document from the file
 2HTMLDocument document = new HTMLDocument($i("drawing.html"));
 3
 4// Initialize PdfSaveOptions. Set up the page-size 500x300 pixels, margins,
 5// resolutions and change the background color to AliceBlue
 6PdfSaveOptions options = new PdfSaveOptions();
 7options.setHorizontalResolution(new Resolution(200, UnitType.AUTO));
 8options.setVerticalResolution(new Resolution(200, UnitType.AUTO));;
 9options.setBackgroundColor(Color.getAliceBlue());
10options.setJpegQuality(100);
11options.getPageSetup().setAnyPage(new Page(new Size(500, 300), new Margin(20, 10, 10, 10)));
12
13// Convert HTML to PDF
14Converter.convertHTML(document, options, $o("drawing-options.pdf"));

Конструктор PdfSaveOptions() инициализирует экземпляр класса PdfSaveOptions, который передается в convertHTML( ) метод. Метод принимает document, options, путь к выходному файлу outputPath и выполняет операцию преобразования.

Класс PdfSaveOptions предоставляет методы, которые дают вам полный контроль над широким спектром параметров и улучшают процесс преобразования HTML в формат PDF. В приведенном выше примере использовалось несколько вариантов сохранения:

Еще один пример Java. Здесь мы создаем HTML-документ с нуля – подготавливаем HTML-код и сохраняем его в файл. Затем мы применяем PdfSaveOptions для преобразования HTML в PDF:

 1// Prepare HTML code and save it to a file
 2String code = "<h1>  PdfSaveOptions Class</h1> " +
 3        "<p>Using PdfSaveOptions Class, you can programmatically " +
 4        "apply a wide range of conversion parameters " +
 5        "such as BackgroundColor, HorizontalResolution, VerticalResolution, PageSetup, etc.</p>";
 6
 7FileHelper.writeAllText($o("save-options.html"), code);
 8
 9// Initialize an HTML Document from the html file
10HTMLDocument document = new HTMLDocument($o("save-options.html"));
11
12// Set up the page-size, margins and change the background color to AntiqueWhite
13PdfSaveOptions options = new PdfSaveOptions();
14options.setBackgroundColor(Color.getAntiqueWhite());
15options.getPageSetup().setAnyPage(
16        new Page(
17                new Size(Length.fromInches(4.9f), Length.fromInches(3.5f)),
18                new Margin(30, 20, 10, 10)
19        )
20);
21
22// Convert HTML to PDF
23Converter.convertHTML(document, options, $o("save-options-output.pdf"));

Заключение

Преобразование HTML в PDF – полезная функция для создания высококачественных, общедоступных и удобных для печати документов. Aspose.HTML for Java предоставляет надежное решение с классом Converter, позволяющим легко преобразовывать HTML в PDF с помощью гибких методов, таких как convertHTML() и настраиваемых PdfSaveOptions.

Класс PdfSaveOptions позволяет разработчикам настраивать вывод, указывая размеры страниц, поля, разрешения, цвета фона, шифрование, параметры сжатия и т. д., обеспечивая точные и профессиональные результаты. Если вы создаете отчеты и сохраняете веб-контент в виде документов PDF, Aspose.HTML for Java упрощает процесс с минимальным количеством кода.

Aspose.HTML предлагает бесплатный онлайн Конвертер HTML в PDF, который конвертирует HTML в PDF с высоким качеством, легко и быстро. Просто загрузите, конвертируйте ваши файлы и получите результат за несколько секунд!

Text “Конвертер HTML в PDF”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.