Конвертировать 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:

  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 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 и т. д.

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 на Java с использованием PdfSaveOptions

С помощью Aspose.HTML для Java вы можете программно конвертировать файлы с полным контролем над широким диапазоном параметров конвертации. Чтобы преобразовать HTML в PDF с указанием PdfSaveOptions, вы должны выполнить несколько шагов:

  1. Загрузите файл HTML с помощью одного из конструкторов HTMLDocument() класса HTMLDocument.
  2. Создайте новый объект PdfSaveOptions и укажите необходимые свойства.
  3. Используйте метод с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. В приведенном выше примере использовалось несколько вариантов сохранения:

Еще один пример 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 с высоким качеством, легко и быстро. Просто загрузите, конвертируйте ваши файлы и получите результат за несколько секунд!

Text “Баннер HTML в PDF Converter”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.