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

В этой статье вы найдете информацию о том, как преобразовать SVG в PDF с помощью методов convert_svg() класса Converter и как применить PdfSaveOptions. С помощью Aspose.HTML for Python via .NET вы можете программно конвертировать SVG в формат PDF с полным контролем над широким диапазоном параметров преобразования. Кроме того, вы можете попробовать онлайн-конвертер SVG, чтобы протестировать функциональность Python API и конвертировать SVG на лету.

Онлайн-конвертер SVG

Вы можете конвертировать SVG в другие форматы с помощью API Aspose.HTML в режиме реального времени. Загрузите SVG из локальной файловой системы или URL-адреса, выберите выходной формат и запустите пример. Параметры сохранения установлены по умолчанию. Вы сразу получите результат конвертации в виде отдельного файла.

                
            

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

Давайте рассмотрим, как преобразовать документ SVG в формат файла PDF. Методы convert_svg() класса Converter в основном используются как самый простой способ конвертировать файл SVG в различные форматы. Вам следует выполнить несколько шагов:

  1. Загрузите документ SVG. Для преобразования вы можете загрузить SVG из файла, URL-адреса или строки кода. В следующем примере мы создаем файл SVG из кода.
  2. Создайте новый объект PdfSaveOptions. Если вы не зададите специальные параметры для сохранения полученного PDF-файла, будут использоваться параметры по умолчанию.
  3. Используйте метод convert_svg(content, base_uri, options, output_path) класса Converter, чтобы сохранить SVG в виде PDF-файла.
 1# Convert SVG code to PDF document using Python
 2
 3import os
 4import aspose.html.converters as conv
 5import aspose.html.saving as sav
 6
 7# Setup directories and define paths
 8output_dir = "output/"
 9if not os.path.exists(output_dir):
10    os.makedirs(output_dir)
11save_path = os.path.join(output_dir, "circles.pdf")
12
13# SVG code
14svg_code = """
15<svg xmlns="http://www.w3.org/2000/svg">
16    <circle id="base" cx="100" cy="100" r="80" fill="teal" stroke="salmon" stroke-width="10" />
17    <g> 
18        <use href="#base" transform="translate(120, 10) scale(0.9)" />
19        <use href="#base" transform="translate(240, 20) scale(0.8)" />
20        <use href="#base" transform="translate(360, 30) scale(0.7)" />
21        <use href="#base" transform="translate(480, 40) scale(0.6)" />
22        <use href="#base" transform="translate(600, 50) scale(0.5)" />
23    </g>
24</svg>
25"""
26
27# Initialize PdfSaveOptions
28options = sav.PdfSaveOptions()
29
30# Convert SVG to PDF
31conv.Converter.convert_svg(svg_code, ".", options, save_path)

На рисунке показано качество рендеринга SVG в PDF на примере фрагмента файла circles.pdf. Мы говорим о фрагменте файла, потому что полный размер файла будет соответствовать странице А4, поскольку параметры сохранения установлены по умолчанию.

Текст «circles.pdf изображение»

Конвертируйте SVG в PDF с помощью PdfSaveOptions

Aspose.HTML for Python via .NET предоставляет класс PdfSaveOptions, который дает вам больше контроля над сохранением документов в формате PDF. Некоторые свойства этого класса наследуют свойства базовых классов, например PdfRenderingOptions или RenderingOptions. Вот описание некоторых свойств, доступных в PdfSaveOptions:

Чтобы преобразовать SVG в PDF с указанием PdfSaveOptions, вам необходимо выполнить несколько шагов:

  1. Загрузите файл SVG, используя один из конструкторов SVGDocument() класса SVGDocument.
  2. Создайте новый объект PdfSaveOptions и укажите параметры сохранения.
  3. Используйте один из методов convert_svg(), чтобы сохранить SVG в формате PDF. В этом примере метод Convert_svg() принимает документ, параметры и путь к выходному файлу save_path и выполняет операцию преобразования.

Следующий фрагмент кода Python настраивает параметры сохранения PDF-файлов для установки размера и полей страницы, применения правил CSS для печати, сжатия изображений JPEG с качеством 80 % и включения PDF-файлов с тегами для улучшения доступности:

 1# Convert SVG to PDF with custom settings using Python
 2
 3import os
 4import aspose.html.dom.svg as ahsvg
 5import aspose.html.converters as conv
 6import aspose.html.saving as sav
 7import aspose.html.drawing as dr
 8
 9# Setup directories and define paths
10output_dir = "output/"
11input_dir = "data/"
12if not os.path.exists(output_dir):
13    os.makedirs(output_dir)
14
15document_path = os.path.join(input_dir, "flower.svg")
16save_path = os.path.join(output_dir, "svg-to-pdf.pdf")
17
18# Load an SVG document
19document = ahsvg.SVGDocument(document_path)
20
21# Initialize PdfSaveOptions
22options = sav.PdfSaveOptions()
23
24# Customize save options for PDF
25options.page_setup.any_page = dr.Page(dr.Size(600, 500), dr.Margin(20, 20, 10, 10))
26options.css.media_type.PRINT
27options.jpeg_quality = 80
28options.is_tagged_pdf = True
29
30# Convert SVG to PDF
31conv.Converter.convert_svg(document, options, save_path)

В приведенном выше примере мы используем:

Проверьте качество преобразования SVG в PDF с помощью нашего онлайн-конвертера SVG в PDF. Загрузите, конвертируйте файлы и получите результаты через несколько секунд. Попробуйте наш мощный конвертер SVG в PDF бесплатно прямо сейчас! Загрузите нашу библиотеку Aspose.HTML for Python via .NET, которая позволит вам успешно, быстро и легко конвертировать документы HTML, MHTML, EPUB, SVG и Markdown в наиболее популярные форматы.

Текст «Конвертер SVG в PDF»

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.