Конвертировать 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 в различные форматы. Вам следует выполнить несколько шагов:
- Загрузите документ SVG. Для преобразования вы можете загрузить SVG из файла, URL-адреса или строки кода. В следующем примере мы создаем файл SVG из кода.
- Создайте новый объект PdfSaveOptions. Если вы не зададите специальные параметры для сохранения полученного PDF-файла, будут использоваться параметры по умолчанию.
- Используйте метод
convert_svg(
content, base_uri, options, output_path
) класса Converter, чтобы сохранить SVG в виде PDF-файла.
1import os
2from aspose.html import *
3from aspose.html.converters import *
4from aspose.html.saving import *
5
6# Setup directories and define paths
7output_dir = "output/"
8if not os.path.exists(output_dir):
9 os.makedirs(output_dir)
10save_path = os.path.join(output_dir, "circles.pdf")
11
12# SVG code
13svg_code = """
14<svg xmlns="http://www.w3.org/2000/svg">
15 <circle id="base" cx="100" cy="100" r="80" fill="teal" stroke="salmon" stroke-width="10" />
16 <g>
17 <use href="#base" transform="translate(120, 10) scale(0.9)" />
18 <use href="#base" transform="translate(240, 20) scale(0.8)" />
19 <use href="#base" transform="translate(360, 30) scale(0.7)" />
20 <use href="#base" transform="translate(480, 40) scale(0.6)" />
21 <use href="#base" transform="translate(600, 50) scale(0.5)" />
22 </g>
23</svg>
24"""
25
26# Initialize PdfSaveOptions
27options = PdfSaveOptions()
28
29# Convert SVG to PDF
30Converter.convert_svg(svg_code, ".", options, save_path)
На рисунке показано качество рендеринга SVG в PDF на примере фрагмента файла circles.pdf
. Мы говорим о фрагменте файла, потому что полный размер файла будет соответствовать странице А4, поскольку параметры сохранения установлены по умолчанию.
Конвертируйте SVG в PDF с помощью PdfSaveOptions
Aspose.HTML for Python via .NET предоставляет класс PdfSaveOptions, который дает вам больше контроля над сохранением документов в формате PDF. Некоторые свойства этого класса наследуют свойства базовых классов, например PdfRenderingOptions или RenderingOptions. Вот описание некоторых свойств, доступных в PdfSaveOptions:
- page_setup – это свойство обеспечивает доступ к объекту PageSetup, используемому для настройки макета и настроек выходных страниц PDF в соответствии с конкретными требованиями к печати или отображению.
- horizontal_resolution – это свойство контролирует горизонтальное разрешение как для внутренних изображений, используемых во время обработки, так и для любых внешних изображений, включенных в HTML. По умолчанию установлено значение 300 dpi.
- вертикальное_разрешение – аналогично свойству горизонтальное_разрешение, это свойство управляет вертикальным разрешением внутренних и внешних изображений во время создания PDF-файла. Как и его горизонтальный аналог, по умолчанию оно составляет 300 точек на дюйм.
- background_color – это свойство устанавливает или извлекает цвет фона, который заполняет каждую страницу PDF-документа. Значение по умолчанию – transparent, но его можно настроить в соответствии с брендингом или эстетическими предпочтениями, обеспечивая единообразие на всех страницах.
- jpeg_quality – это свойство определяет качество сжатия JPEG, используемое для изображений, встроенных в документ PDF. Качество по умолчанию установлено на 95, что обеспечивает хороший баланс между точностью изображения и размером файла. Установка этого свойства позволяет оптимизировать размер файла или качество изображения в соответствии с вашими конкретными потребностями.
- css – это свойство использует объект CssOptions для настройки обработки свойств CSS во время преобразования HTML в PDF. Это позволяет точно контролировать, как стили HTML интерпретируются и применяются в конечном PDF-файле.
- encryption – это свойство предоставляет подробную информацию о шифровании PDF-документа, включая защиту паролем и настройки разрешений. Если оно не настроено, шифрование не применяется, но установка этого свойства позволяет безопасно распространять и контролировать доступ к конфиденциальному содержимому PDF.
- is_tagged_pdf – если установлено значение true, в PDF-документе создается макет с тегами, что повышает доступность для пользователей с ограниченными возможностями. Это гарантирует, что контент правильно структурирован и доступен для навигации с использованием вспомогательных технологий, а также соответствует стандартам доступности.
Чтобы преобразовать SVG в PDF с указанием PdfSaveOptions, вам необходимо выполнить несколько шагов:
- Загрузите файл SVG, используя один из конструкторов SVGDocument() класса SVGDocument.
- Создайте новый объект PdfSaveOptions и укажите параметры сохранения.
- Используйте один из методов convert_svg(), чтобы сохранить SVG в формате PDF. В этом примере метод Convert_svg() принимает документ, параметры и путь к выходному файлу save_path и выполняет операцию преобразования.
Следующий фрагмент кода Python настраивает параметры сохранения PDF-файлов для установки размера и полей страницы, применения правил CSS для печати, сжатия изображений JPEG с качеством 80 % и включения PDF-файлов с тегами для улучшения доступности:
1import os
2from aspose.html import *
3from aspose.html.saving import *
4from aspose.html.drawing import *
5from aspose.html.converters import *
6from aspose.html.dom.svg import *
7
8# Setup directories and define paths
9output_dir = "output/"
10input_dir = "data/"
11if not os.path.exists(output_dir):
12 os.makedirs(output_dir)
13
14document_path = os.path.join(input_dir, "document.svg")
15save_path = os.path.join(output_dir, "svg-to-pdf.pdf")
16
17# Load an SVG document
18document = SVGDocument(document_path)
19
20# Initialize PdfSaveOptions
21options = PdfSaveOptions()
22
23# Customize save options for PDF
24options.page_setup.any_page = Page(Size(600, 500), Margin(20, 20, 10, 10))
25options.css.media_type.PRINT
26options.jpeg_quality = 80
27options.is_tagged_pdf = True
28
29# Convert SVG to PDF
30Converter.convert_svg(document, options, save_path)
В приведенном выше примере мы используем:
- свойство
page_setup
для настройки макета страниц PDF; - свойство
css.media_type
для указания типа мультимедиа для CSS во время процесса рендеринга. В этом примере для него установлено значение PRINT, что означает, что правила CSS, определенные для печатных носителей, будут применяться при создании PDF-файла; - свойство
jpeg_quality
для установки качества сжатия JPEG изображений в PDF-файле. Для него установлено значение «80», что означает, что изображения JPEG в PDF-файле будут сжаты до 80 % от их исходного качества; - свойство
is_tagged_pdf
, которое включает или отключает создание структуры тегов в PDF, что важно для доступности. Установка для этого свойства значенияTrue
гарантирует, что созданный PDF-файл будет помечен тегами, что делает его более доступным для пользователей, которые полагаются на вспомогательные технологии, такие как программы чтения с экрана.
Проверьте качество преобразования SVG в PDF с помощью нашего онлайн-конвертера SVG в PDF. Загрузите, конвертируйте файлы и получите результаты через несколько секунд. Попробуйте наш мощный конвертер SVG в PDF бесплатно прямо сейчас! Загрузите нашу библиотеку Aspose.HTML for Python via .NET, которая позволит вам успешно, быстро и легко конвертировать документы HTML, MHTML, EPUB, SVG и Markdown в наиболее популярные форматы.