Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Quick Answer: Чтобы конвертировать SVG в PNG в Python, загрузите исходный файл через
SVGDocument, создайте
ImageSaveOptions и передайте оба объекта в
Converter.convert_svg(). PNG является форматом изображения по умолчанию, а ImageSaveOptions позволяет настроить фон, размер страницы, поля и разрешение.
PNG – растровый формат без потерь, который поддерживает прозрачность. Он удобен для веб-графики, превью, миниатюр и приложений, которые не умеют напрямую отображать SVG.
Следующий пример конвертирует document.svg в result.png с настройками PNG по умолчанию:
1from aspose.svg import SVGDocument
2from aspose.svg.converters import Converter
3from aspose.svg.saving import ImageSaveOptions
4
5# Convert an SVG file to PNG using the default save options
6options = ImageSaveOptions()
7
8with SVGDocument("document.svg") as document:
9 Converter.convert_svg(document, options, "result.png")Код выполняет три действия:
result.png.Используйте ImageSaveOptions, если PNG должен иметь конкретный canvas, фон или разрешение. Следующий пример конвертирует winter.svg, добавляет сплошной фон, создает страницу 600 x 550 с полями 10 пикселей и рендерит при 96 dpi:
1import os
2from aspose.svg import SVGDocument
3from aspose.svg.converters import Converter
4from aspose.svg.saving import ImageSaveOptions
5from aspose.svg.drawing import Resolution, Page, Size, Margin
6from aspose.pydrawing import Color
7
8# Convert SVG to PNG with a custom background, page, and resolution
9input_folder = "data/"
10output_folder = "output/"
11input_path = os.path.join(input_folder, "winter.svg")
12output_path = os.path.join(output_folder, "winter.png")
13os.makedirs(output_folder, exist_ok=True)
14
15options = ImageSaveOptions()
16options.background_color = Color.from_argb(231, 217, 230)
17options.page_setup.any_page = Page(Size(600, 550), Margin(10, 10, 10, 10))
18options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
19options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
20
21with SVGDocument(input_path) as document:
22 Converter.convert_svg(document, options, output_path)Полученный PNG использует заданные параметры страницы, а не только viewport SVG. Иллюстрация сравнивает исходный SVG и PNG, отрисованный на новом фоне.

| Свойство | Когда использовать |
|---|---|
| background_color | Заполнить прозрачные области выбранным цветом |
| page_setup | Задать размеры страницы и поля |
| horizontal_resolution | Задать горизонтальное разрешение вывода в dpi |
| vertical_resolution | Задать вертикальное разрешение вывода в dpi |
| smoothing_mode | Управлять качеством растеризации |
| text | Настроить рендеринг текста через TextOptions |
Если background_color не задан, прозрачные области SVG остаются прозрачными в PNG. Разрешение влияет на плотность растра, а page_setup управляет canvas вывода. Если размеры страницы заданы в пикселях, размеры в пикселях обычно важнее, чем простое увеличение dpi.
| Проблема | Возможная причина | Решение |
|---|---|---|
| PNG пустой или обрезан | В SVG нет корректного viewport или выходная страница слишком мала | Задайте SVG width, height или viewBox, либо настройте options.page_setup.any_page |
| Прозрачные области выглядят неожиданно | Не указан выходной фон | Задайте options.background_color, если нужен сплошной canvas |
| Текст выглядит иначе | Нужный шрифт недоступен | Установите шрифт или векторизуйте текст перед конвертацией, если важна точная форма глифов |
| Связанные изображения или CSS отсутствуют | Относительные ресурсы не могут быть разрешены | Загружайте SVG из его файлового пути или задавайте корректный base URI |
| Размеры вывода не соответствуют ожиданиям | Размер страницы и разрешение воспринимаются как одна настройка | Используйте page_setup для размеров и horizontal_resolution/vertical_resolution для dpi |
Вы также можете проверить конвертацию SVG в PNG в браузере. Загрузите SVG-файл, выберите PNG и сравните результат с программным выводом.
Попробуйте бесплатный онлайн SVG to PNG Converter, чтобы конвертировать SVG без написания кода.
Создайте ImageSaveOptions, откройте исходный SVG через SVGDocument и вызовите Converter.convert_svg(document, options, output_path).
Да. PNG поддерживает прозрачность, и прозрачные области SVG остаются прозрачными, если вы не зададите ImageSaveOptions.background_color.
Настройте ImageSaveOptions.page_setup с помощью Page, Size и Margin. Свойства разрешения используйте отдельно, если нужен определенный dpi.
Да. Создайте SVGDocument из SVG-строки и base URI, а затем передайте документ в Converter.convert_svg().
PdfDevice.Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.