Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Quick Answer: Aspose.SVG for Python via .NET 可将 SVG 转换为 PDF、PNG、JPG、BMP、TIFF、GIF 和 XPS。直接文件转换可使用 Converter.convert_svg();需要渲染设备工作流时,可加载 SVGDocument 并调用 render_to(device)。
SVG 适合可缩放图形,但很多工作流需要固定输出格式。PDF 适合打印和文档交换,PNG 或 JPG 适合网页预览和栅格资源,TIFF 或 BMP 适合图像处理流程,GIF 适合轻量栅格输出,XPS 适合需要固定版式文档的场景。
本页概述 SVG 转换 API。有关特定格式的选项和示例,请使用下面的详细文章。
| 输出格式 | 典型用途 | 详细文章 |
|---|---|---|
| 打印、归档、文档交换 | 将 SVG 转换为 PDF | |
| PNG | Web 图像、透明栅格输出、预览 | 将 SVG 转换为 PNG |
| JPG | 不需要透明度的栅格预览 | 将 SVG 转换为 JPG |
| BMP | 简单位图输出 | 将 SVG 转换为图像 |
| TIFF | 发布和图像处理工作流 | 将 SVG 转换为图像 |
| GIF | 轻量栅格输出 | 将 SVG 转换为图像 |
| XPS | 固定版式文档输出 | 请参见下面的 XPS 示例 |
Converter 类是转换 SVG 文件的最直接方式。为目标格式创建保存选项,用 SVGDocument 加载 SVG 文档,然后调用 Converter.convert_svg()。
1from aspose.svg import SVGDocument
2from aspose.svg.converters import Converter
3from aspose.svg.saving import ImageSaveOptions
4
5# Convert SVG to PNG using the high-level converter API
6options = ImageSaveOptions()
7
8with SVGDocument("image.svg") as document:
9 Converter.convert_svg(document, options, "image.png")XPS 是较小众的固定版式输出格式。当 Windows 文档、打印或归档工作流明确要求 XPS 时使用它。对于大多数文档交换场景,PDF 通常是更好的默认选择。
1from aspose.svg import SVGDocument
2from aspose.svg.converters import Converter
3from aspose.svg.saving import XpsSaveOptions
4
5# Convert SVG to XPS when the target workflow requires XPS output
6options = XpsSaveOptions()
7
8with SVGDocument("document.svg") as document:
9 Converter.convert_svg(document, options, "document.xps")render_to() 方法将 SVG 内容发送到渲染设备。当应用需要显式控制目标设备时,例如
PdfDevice、XpsDevice 或
ImageDevice,可使用此工作流。
1import os
2from aspose.svg import SVGDocument
3from aspose.svg.rendering.pdf import PdfDevice, PdfRenderingOptions
4
5# Render SVG to PDF using a rendering device
6input_folder = "data/"
7output_folder = "output/"
8input_path = os.path.join(input_folder, "document.svg")
9output_path = os.path.join(output_folder, "document.pdf")
10os.makedirs(output_folder, exist_ok=True)
11
12options = PdfRenderingOptions()
13options.jpeg_quality = 80
14
15with SVGDocument(input_path) as document:
16 with PdfDevice(options, output_path) as device:
17 document.render_to(device)大多数 SVG 转换任务会使用保存选项或渲染选项来控制输出质量、页面设置、背景颜色和资源处理。
| 选项组 | 用于 | 示例 |
|---|---|---|
| ImageSaveOptions | PNG、JPG、BMP、TIFF、GIF 输出 | 图像格式、背景颜色、页面设置、分辨率 |
| PdfSaveOptions | 通过 Converter.convert_svg() 输出 PDF | 页面设置、JPEG 质量、元数据、加密、背景颜色 |
| XpsSaveOptions | 通过 Converter.convert_svg() 输出 XPS | 页面设置、背景颜色、分辨率 |
| PdfRenderingOptions | 通过 PdfDevice 输出 PDF | 页面设置、JPEG 质量、分辨率、背景颜色 |
RenderingOptions | 基于设备的渲染工作流 | 格式专用选项继承的通用渲染设置 |
批量转换使用与单文件转换相同的 API。遍历 SVG 文件夹,为每个文件创建输出路径,并对每个文档调用 Converter.convert_svg()。PNG、JPG 和 PDF 示例见
在 Python 中批量转换 SVG 文件。
使用免费的在线 SVG Converter 在 Python 实现前测试 SVG 转换。上传 SVG 文件,选择输出格式,然后比较生成的文件。
| 问题 | 可能原因 | 修复方法 |
|---|---|---|
| 没有生成输出文件 | 输出文件夹不存在,或文件保存到了其他工作目录 | 使用 os.makedirs() 创建文件夹,并使用显式路径 |
| 转换后的图像背景不正确 | SVG 包含透明区域,但未配置背景 | 在保存或渲染选项中设置背景颜色 |
| PDF 或图像尺寸不符合预期 | 页面设置与 SVG viewport 或内容边界不匹配 | 在相关选项对象中配置页面大小、边距或尺寸模式 |
| 外部图像或字体缺失 | 转换期间无法解析相对资源 | 将资源放在 SVG 旁边,或使用正确的绝对路径和基路径 |
| 输出文件过大 | SVG 复杂或栅格设置过高 | 降低分辨率、JPEG 质量、图像尺寸,或在转换前简化 SVG |
如何在 Python 中转换 SVG 文件?
使用 SVGDocument 加载文件,为目标格式创建保存选项,然后调用 Converter.convert_svg()。
支持哪些 SVG 输出格式?
Aspose.SVG for Python via .NET 支持转换为 PDF、XPS、PNG、JPG、BMP、TIFF 和 GIF。
应该使用 Converter.convert_svg() 还是 render_to()?
普通文件转换使用 Converter.convert_svg()。需要 PdfDevice、XpsDevice 或 ImageDevice 等渲染设备工作流时使用 render_to()。
可以从 URL 转换 SVG 吗?
可以。在网络访问可用时用 SVGDocument 加载 SVG URL,然后使用与本地文件相同的 API 转换。
可以在 Python 中将 SVG 转换为 XPS 吗?
可以。创建 XpsSaveOptions,并将其与已加载的 SVGDocument 一起传给 Converter.convert_svg()。仅在目标工作流需要 XPS 时使用该格式。
可以批量转换多个 SVG 文件吗?
可以。遍历输入文件夹,加载每个 .svg 文件,并为每个输出文件调用 Converter.convert_svg()。
可以在转换期间更改输出尺寸吗?
可以。通过目标格式的保存选项或渲染选项配置页面设置、尺寸、边距和分辨率。
PdfDevice 渲染。Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.