Конвертировать 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:
- Загрузите файл HTML с помощью одного из конструкторов HTMLDocument() класса
HTMLDocument. Вы можете загрузить HTML из файла, HTML-кода, потока или URL-адреса (см. статью
Создание HTML-документа). В примере мы используем конструктор
HTMLDocument(адрес)
, который инициализирует HTML-документ из файла. - Создайте новый объект PdfSaveOptions. Используйте пустой конструктор PdfSaveOptions() для преобразования с параметрами сохранения по умолчанию.
- Используйте метод
с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 и т. д.
Metod | Description |
---|---|
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. |
setEncryption | This 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 вы можете программно конвертировать файлы с полным контролем над широким диапазоном параметров конвертации. Выполните всего несколько шагов:
- Загрузите файл HTML с помощью одного из конструкторов HTMLDocument() класса HTMLDocument.
- Создайте новый объект PdfSaveOptions и укажите необходимые свойства.
- Используйте метод
с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. В приведенном выше примере использовалось несколько вариантов сохранения:
setJpegQuality()
определяет качество сжатия изображений в формате JPEG.setBackgroundColor()
устанавливает цвет, заполняющий фон.setHorizontalResolution()
иsetVerticalResolution()
устанавливают разрешение по горизонтали и вертикали для выходных файлов PDF.setPageSetup()
определяет размер страницы и поля для выходного документа.
Еще один пример 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 с высоким качеством, легко и быстро. Просто загрузите, конвертируйте ваши файлы и получите результат за несколько секунд!