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

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

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

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

1    // Invoke the convertSVG() method for SVG to PDF conversion
2    com.aspose.html.converters.Converter.convertSVG(Path.combine(getDataDir(), "shapes.svg"), new PdfSaveOptions(), Path.combine(getOutputDir(), "convert-with-single-line.pdf"));

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

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

  1. Загрузите файл SVG с помощью класса SVGDocument. Вы можете загрузить SVG из файла, кода SVG, потока или URL-адреса. В следующем примере мы создаем содержимое SVG с нуля.
  2. Создайте новый объект PdfSaveOptions. Используйте пустой конструктор PdfSaveOptions() для преобразования с параметрами сохранения по умолчанию.
  3. Используйте один из методов сonvertSVG() класса Converter, чтобы сохранить SVG в виде файла PDF. В примере мы используем метод convertHTML(content, baseUri, options, savePath)`, который принимает четыре параметра: строку с кодом SVG для преобразования, базовую папку для входного файла SVG, экземпляр класса PdfSaveOptions и путь к выходному файлу, где будет сохранен преобразованный файл.

Просмотрите следующий фрагмент кода Java, в котором показан процесс преобразования SVG в PDF с пошаговыми инструкциями:

 1    // Prepare SVG code
 2    String code = StringExtensions.concat("<svg xmlns='http://www.w3.org/2000/svg'>",
 3                "<circle cx ='100' cy ='100' r ='50' fill='none' stroke='red' stroke-width='5' />", 
 4                "</svg>");
 5
 6    // Prepare a path for converted file saving 
 7    String savePath = Path.combine(getOutputDir(), "circle.pdf");
 8       
 9    // Initialize PdfSaveOptions class
10    PdfSaveOptions options = new PdfSaveOptions();
11
12    // Convert SVG to PDF
13    com.aspose.html.converters.Converter.convertSVG(code, ".", options, savePath);

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

Aspose.HTML для Java позволяет конвертировать SVG в 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.

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

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

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

  1. Загрузите файл SVG с помощью одного из конструкторов SVGDocument() класса SVGDocument.
  2. Создайте новый объект PdfSaveOptions и укажите необходимые свойства. Конструктор PdfSaveOptions() инициализирует экземпляр класса PdfSaveOptions, который передается методу converSVG():
    • Используйте метод setJpegQuality(), чтобы указать качество сжатия JPEG.
    • Используйте метод setBackgroundColor(), чтобы установить цвет, заполняющий фон.
    • Используйте методы setHorizontalResolution() и setVerticalResolution(), чтобы установить разрешение по горизонтали и вертикали для выходных файлов PDF.
    • Используйте метод setPageSetup(), чтобы указать размер страницы и поля для выходного документа.
  3. Вызвать метод сonvertSVG(document, options, savePath) класса Converter.
 1    // Prepare a path to a source SVG file
 2    String documentPath = Path.combine(getDataDir(), "aspose.svg");
 3
 4    // Prepare a path for converted file saving 
 5    String savePath = Path.combine(getOutputDir(), "aspose-options.pdf");
 6
 7    // Initialize an SVG document from the file
 8    SVGDocument document = new SVGDocument(documentPath);
 9    try {        }
10    finally { if (document != null) document.dispose(); }
11
12    // Initialize PdfSaveOptions. Set up the page-size, margins, resolutions, JpegQuality, and change the background color
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.getGreen().CloneTo(options.getBackgroundColor());
17    options.setJpegQuality(100);
18    options.getPageSetup().setAnyPage(new Page(new com.aspose.html.drawing.Size(500, 500), new Margin(30, 10, 10, 10)));
19
20    // Convert SVG to PDF
21    com.aspose.html.converters.Converter.convertSVG(document, options, savePath);

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

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

Text “Баннер SVG to PDF Converter”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.