Конвертировать HTML в PDF на Java
В этой статье вы найдете информацию о том, как преобразовать документ HTML в формат файла Portable Document Format (PDF) с помощью библиотеки Aspose.HTML для Java. Файлы PDF имеют много преимуществ по сравнению с другими форматами, и иногда вам может потребоваться преобразовать HTML в PDF. Это особенно полезно для создания высококачественных, удобных для печати версий веб-страниц, создания отчетов или обмена документами, которые трудно редактировать или модифицировать.
В этой статье вы найдете информацию о том, как конвертировать HTML в PDF с помощью методов convertHTML()
Converter и как применять
PdfSaveOptions и
ICreateStreamProvider.
HTML в PDF одной строкой кода Java
Преобразование HTML в PDF – очень востребованная функция, и Aspose.HTML для Java предлагает простое решение. С помощью статических методов класса Converter вы можете преобразовать документ HTML в файл PDF всего одной строкой кода!
1 // Invoke the сonvertHTML() method to convert HTML to PDF
2 com.aspose.html.converters.Converter.convertHTML("<h1>Convert HTML to PDF!</h1>", ".", new PdfSaveOptions(), Path.combine(getOutputDir(), "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 a path to a source HTML file
2 String documentPath = Path.combine(getDataDir(), "spring.html");
3
4 // Prepare a path for converted file saving
5 String outputPath = Path.combine(getOutputDir(), "spring-output.pdf");
6
7 // Initialize an HTML document from the file
8 HTMLDocument document = new HTMLDocument(documentPath);
9 try { }
10 finally { if (document != null) document.dispose(); }
11
12 // Initialize PdfSaveOptions object
13 PdfSaveOptions options = new PdfSaveOptions();
14
15 // Convert HTML to PDF
16 com.aspose.html.converters.Converter.convertHTML(document, options, outputPath);
Параметры сохранения
Aspose.HTML для Java позволяет конвертировать HTML в PDF, используя стандартные или пользовательские параметры сохранения. PdfSaveOptions позволяет настроить процесс рендеринга. Вы можете указать размер страницы, поля, права доступа к файлу, тип мультимедиа CSS и т. д.
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 на Java с использованием PdfSaveOptions
С помощью Aspose.HTML для Java вы можете программно конвертировать файлы с полным контролем над широким диапазоном параметров конвертации. Чтобы преобразовать HTML в PDF с указанием PdfSaveOptions, вы должны выполнить несколько шагов:
- Загрузите файл HTML с помощью одного из конструкторов HTMLDocument() класса HTMLDocument.
- Создайте новый объект PdfSaveOptions и укажите необходимые свойства.
- Используйте метод
сonvertHTML()
класса Converter, чтобы сохранить HTML в виде файла PDF.
В следующем примере Java показано, как использовать PdfSaveOptions и создать файл PDF с пользовательским размером страницы, полями, разрешением, цветом фона и сжатием:
1 // Prepare a path to a source HTML file
2 String documentPath = Path.combine(getDataDir(), "drawing.html");
3
4 // Prepare a path for converted file saving
5 String outputPath = Path.combine(getOutputDir(), "drawing-options.pdf");
6
7 // Initialize an HTML document from the file
8 HTMLDocument document = new HTMLDocument(documentPath);
9 try { }
10 finally { if (document != null) document.dispose(); }
11
12 // Initialize PdfSaveOptions. Set up the page-size 500x300 pixels, margins, resolutions and change the background color to AliceBlue
13 PdfSaveOptions options = new PdfSaveOptions();
14 options.setHorizontalResolution(new Resolution(200, UnitType.AUTO));
15 options.setVerticalResolution(new Resolution(200, UnitType.AUTO));;
16 com.aspose.html.drawing.Color.getAliceBlue().CloneTo(options.getBackgroundColor());
17 options.setJpegQuality(100);
18 options.getPageSetup().setAnyPage(new Page(new com.aspose.html.drawing.Size(500, 300), new Margin(20, 10, 10, 10)));
19
20 // Convert HTML to PDF
21 com.aspose.html.converters.Converter.convertHTML(document, options, outputPath);
Конструктор
PdfSaveOptions() инициализирует экземпляр класса PdfSaveOptions, который передается в convertHTML( )
метод. Метод принимает document
, options
, путь к выходному файлу outputPath
и выполняет операцию преобразования.
Класс PdfSaveOptions предоставляет методы, которые дают вам полный контроль над широким спектром параметров и улучшают процесс преобразования HTML в формат PDF. В приведенном выше примере использовалось несколько вариантов сохранения:
setJpegQuality()
определяет качество сжатия изображений в формате JPEG.setBackgroundColor()
устанавливает цвет, заполняющий фон.setHorizontalResolution()
иsetVerticalResolution()
устанавливают разрешение по горизонтали и вертикали для выходных файлов PDF.setPageSetup()
определяет размер страницы и поля для выходного документа.
Еще один пример Java. Здесь мы создаем HTML-документ с нуля – подготавливаем HTML-код и сохраняем его в файл. Затем мы применяем PdfSaveOptions для преобразования HTML в PDF:
1 String documentPath = Path.combine(getOutputDir(), "save-options.html");
2 String savePath = Path.combine(getOutputDir(), "save-options-output.pdf");
3
4 // Prepare HTML code and save it to a file
5 String code = StringExtensions.concat("<h1>PdfSaveOptions Class</h1>\r\n",
6 "<p>Using PdfSaveOptions Class, you can programmatically apply a wide range of conversion parameters such as BackgroundColor, Resolutions, PageSetup, etc.</p>\r\n");
7
8 com.aspose.html.internal.ms.System.IO.File.writeAllText(documentPath, code);
9
10 // Initialize an HTML Document from the html file
11 HTMLDocument document = new HTMLDocument(documentPath);
12 try { }
13 finally { if (document != null) document.dispose(); }
14
15 // Set up the page-size, margins and change the background color to AntiqueWhite
16 PdfSaveOptions options = new PdfSaveOptions();
17 com.aspose.html.drawing.Color.getAntiqueWhite().CloneTo(options.getBackgroundColor());
18 options.getPageSetup().setAnyPage(new Page(new com.aspose.html.drawing.Size(com.aspose.html.drawing.Length.fromInches(4.9f), com.aspose.html.drawing.Length.fromInches(3.5f))));
19
20 // Convert HTML to PDF
21 com.aspose.html.converters.Converter.convertHTML(document, options, savePath);
Aspose.HTML предлагает бесплатный онлайн Конвертер HTML в PDF, который конвертирует HTML в PDF с высоким качеством, легко и быстро. Просто загрузите, конвертируйте ваши файлы и получите результат за несколько секунд!