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

В этой статье вы найдете информацию о том, как преобразовать SVG в PDF и как использовать PdfSaveOptions.

SVG в PDF одной строкой кода

Статические методы класса Converter в основном используются как самый простой способ преобразования SVG в различные форматы. Вы можете преобразовать SVG в PDF в своем Java-приложении буквально с помощью одной строки кода!

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

1// Prepare an SVG code.
2String code = "<svg xmlns='http://www.w3.org/2000/svg'>\n" +
3        "<circle cx='50' cy='50' r='40' stroke='black' stroke-width='3' fill='red' />\n" +
4        "</svg>\n";
5
6// Call the ConvertSVG method to convert the SVG code to PDF.
7Converter.convertSVG(code, ".", new PdfSaveOptions(), $o("output.pdf"));

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

Если вам требуется рендеринг документа SVG, например, в формат файла PDF, следующий пример демонстрирует, насколько это просто:

  1. Загрузите файл SVG с помощью класса SVGDocument. Вы можете загрузить SVG из файла, кода SVG, потока или URL-адреса. В следующем примере мы создаем содержимое SVG с нуля.
  2. Создайте новый объект PdfSaveOptions. Используйте пустой конструктор PdfSaveOptions() для преобразования с параметрами сохранения по умолчанию.
  3. Используйте один из методов сonvertSVG() класса Converter, чтобы сохранить SVG в виде файла PDF.
 1// Prepare an SVG code and save it to the file.
 2String code = "<svg xmlns='http://www.w3.org/2000/svg'>\n" +
 3        "<circle cx='50' cy='50' r='40' stroke='black' stroke-width='3' fill='red' />\n" +
 4        "</svg>\n";
 5try (java.io.FileWriter fileWriter = new java.io.FileWriter($o("document.svg"))) {
 6    fileWriter.write(code);
 7}
 8
 9// Initialize an SVG document from the svg file.
10SVGDocument document = new SVGDocument($o("document.svg"));
11
12// Initialize PdfSaveOptions.
13PdfSaveOptions options = new PdfSaveOptions();
14
15// Convert SVG to PDF
16Converter.convertSVG(document, options, $o("output.pdf"));

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

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

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.

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

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

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

  1. Загрузите файл SVG с помощью одного из конструкторов SVGDocument() класса SVGDocument.
  2. Создайте новый объект PdfSaveOptions и укажите необходимые свойства. Конструктор PdfSaveOptions() инициализирует экземпляр класса PdfSaveOptions, который передается методу converSVG().
  3. Вызовите один из методов Converter класса, например, сonvertSVG(sourcePath, options, savePath).
 1// Prepare an SVG code and save it to the file.
 2String code = "<svg xmlns='http://www.w3.org/2000/svg'>\n" +
 3        "<circle cx='50' cy='50' r='40' stroke='black' stroke-width='3' fill='red' />\n" +
 4        "</svg>\n";
 5try (java.io.FileWriter fileWriter = new java.io.FileWriter($o("document.svg"))) {
 6    fileWriter.write(code);
 7}
 8
 9// Set A5 as a page-size and change the background color to green
10PdfSaveOptions options = new PdfSaveOptions();
11PageSetup pageSetup = new PageSetup();
12Page anyPage = new Page();
13anyPage.setSize(new Size(Length.fromInches(8.3f), Length.fromInches(5.8f)));
14pageSetup.setAnyPage(anyPage);
15options.setPageSetup(pageSetup);
16options.setBackgroundColor(Color.getGreen());
17
18// Convert SVG document to PDF
19Converter.convertSVG($o("document.svg"), options, $o("output.pdf"));

Чтобы узнать больше о PdfSaveOptions, вы можете обратиться к статье Fine-Tuning Converters.

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

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

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.