Конвертировать 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, следующий пример демонстрирует, насколько это просто:
- Загрузите файл SVG с помощью класса SVGDocument. Вы можете загрузить SVG из файла, кода SVG, потока или URL-адреса. В следующем примере мы создаем содержимое SVG с нуля.
- Создайте новый объект PdfSaveOptions. Используйте пустой конструктор PdfSaveOptions() для преобразования с параметрами сохранения по умолчанию.
- Используйте один из методов
с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 и т. д.
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. |
Вы можете скачать полные примеры и файлы данных по адресу GitHub.
Конвертировать SVG в PDF с использованием PdfSaveOptions
С помощью Aspose.HTML for Java вы можете программно конвертировать файлы с полным контролем над широким диапазоном параметров конвертации. Чтобы преобразовать SVG в PDF с указанием PdfSaveOptions, вы должны выполнить несколько шагов:
- Загрузите файл SVG с помощью одного из конструкторов SVGDocument() класса SVGDocument.
- Создайте новый объект
PdfSaveOptions и укажите необходимые свойства. Конструктор
PdfSaveOptions()
инициализирует экземпляр класса PdfSaveOptions, который передается методуconverSVG()
. - Вызовите один из методов
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 с высоким качеством, легко и быстро. Просто загрузите, конвертируйте ваши файлы и получите результат за несколько секунд!