1. Продукты
  2.   Aspose.Page
  3.   Aspose.Page FOSS for Python

Aspose.Page FOSS for Python

Бесплатная библиотека Python с лицензией MIT для экспорта PS, EPS и XPS в PDF и растровые изображения. Office не требуется.

Библиотека Python с открытым исходным кодом для PS, EPS и XPS Conversion

Aspose.Page FOSS for Python — это бесплатная, открытая библиотека для преобразования PostScript (PS), Encapsulated PostScript (EPS) и XPS документов в приложениях Python. Установите её одной командой pip install aspose-page-foss и начните экспортировать документы в PDF и растровые изображения без каких-либо проприетарных сред выполнения или системных зависимостей.

Библиотека предоставляет чистый API, построенный вокруг PsDocument и XpsDocument. Загрузите документ с помощью from_file() или from_bytes(), затем вызовите to_pdf() для получения PDF‑потока байтов, или to_image() с экземпляром ImageSaveOptions для рендеринга в PNG или JPEG с указанным DPI. Опциональный сервер MCP предоставляет ps_to_pdf, ps_to_image, xps_to_pdf и xps_to_image в качестве удалённых инструментов конвертации с использованием FastMCP.

Поскольку библиотека не зависит от нативных библиотек Office или Ghostscript, она работает одинаково на Windows, Linux и macOS, включая CI‑раннеры и Docker‑контейнеры. Кодовая база лицензирована по MIT и размещена на GitHub. Разработчики, которым нужен полный коммерческий API, могут использовать Aspose.Page для Python вместе с этими открытыми ресурсами. Для корпоративного продукта см. Aspose.Page for Python — Enterprise Product.

Конвертировать документы PS и EPS

  • PS в PDF: Позвоните PsDocument.from_file(), затем to_pdf() для экспорта документа как файлового массива.
  • EPS в PDF: PsDocument.from_file() принимает как расширения файлов .ps, так и .eps.
  • PS/EPS к изображению: Передайте ImageSaveOptions(format="png", dpi=150) в to_image() для вывода PNG или JPEG.
  • В памяти обработки: Все преобразования возвращают bytes не требуется временных файлов.
  • ** Из байтов:** Используйте PsDocument.from_bytes() для обработки данных PS/EPS из сетевого потока или загрузки.

Где используется преобразование PS/EPS

  • Пиплины документов: Экспорт старых отчетов PostScript в PDF для архивирования или распространения.
  • Рабочие процессы печати: Преобразовать PS-вывод из драйверов для печать в PDF или предварительные просмотры изображений.
  • ** Обработка активов EPS:** Растеризировать иллюстрации E PS в PNG для использования в Интернете или документации.
  • Автоматизация партии: Процесс каталогов PS/EPS файлов в CI или cron-работах без GUI.

Конвертировать XPS-документы

  • XPS в PDF: Позвоните XpsDocument.from_file(), затем to_pdf() для экспорта файла XPS как массива байтов PDF.
  • XPS к изображению: Позвоните to_image() с помощью ImageSaveOptions для отображения страниц XPS в PNG или JPEG.
  • ** Из байтов:** Используйте XpsDocument.from_bytes() для данных XPS из загрузок или потоков.
  • Доступ к странице: Используйте add_page(), get_page() и remove_page() для работы с отдельными страницами.
  • ** Читание пакета XPS:** Используйте XpsPackage.from_file() для проверки необработанных частей пакетов Xps.

Где используется преобразование XPS

  • ** Windows print spool:** Экспортировать файлы XPS из подсистемы печати Windows в PDF или изображение.
  • Архивирование документов: Преобразовать файлы XPS в универсально читаемые PDF для долгосрочного хранения.
  • Предварительный вид: Преобразование страниц XPS в миниатюры PNG для систем управления документами.
  • Платформа использования: Процесс файлов XPS на серверах Linux и macOS, где не доступны новые просмотры.

MCP-сервер для удаленного преобразования

  • Tool exposure: create_server() регистрирует ps_to_pdf, ps_to_image, xps_to_pdf и xps_to_image как инструменты MCP через FastMCP.
  • EPS metadata: Инструмент eps_metadata извлекает границы и поля заголовка DSC из EPS‑файлов.
  • Input/output types: McpInput принимает путь к файлу или байты, закодированные в base64; McpOutput возвращает байты base64 или записывает их по пути.
  • Conversion options: McpConversionOptions управляет форматом вывода и DPI при конвертации изображений.
  • Optional dependency: FastMCP требуется только для хостинга сервера MCP; основная конвертация работает без него.

Примеры использования МПК

  • Пиплины агентов ИИ: Выделите конвертирование документов в качестве инструмента, который может быть вызван Клодом или другими агентными системами, совместимыми с МКБ.
  • Микросервисы: Запустить легкий конверсионный сервис, принимающий PS/EPS/XPS через HTTP.
  • Плагины ИДЕ: Функциональность конвертации поверхности для редакторов, поддерживающих серверы инструментов MCP.
  • Автоматизация рабочего процесса: Интегрировать конверсию в n8n или аналогичные платформы автоматизации с низким кодом.

Модель рендера и выход PDF-файлов

  • RenderModelBuilder: Создайте RenderDocument с begin_page(), add_path(), add_text(), add_image() и end_page().
  • PdfWriter: Передайте экземпляр PdfMetadata и вызовите write(doc), чтобы получить массив байтов PDF из любого RenderDocument.
  • PdfMetadata: Установите поля title, creator, producer, creation_date и trapped в результирующем PDF.
  • RasterRenderer: Отрендерите RenderDocument в RasterSurface; закодируйте с помощью encode_png() или encode_bmp().
  • Unicode encoding: Слой вывода PDF записывает многоязычный Unicode‑текст, включая CJK и кириллицу.

Примеры использования низкоуровневого рендеринга

  • Подготовка PDF по замыслу: Создание страниц с векторными путями, текстом и изображениями без промежуточного файла PS/XPS.
  • Пиксельное тестирование: Используйте RasterRenderer для отображения документов и сравнения выходов пиксел в автоматизированных тестах.
  • Вставка шрифтов: Вставьте шрифт TrueType с использованием FontResolver и build_embedded_font() для правильного рендеринга.
  • ** Управление цветом:** Применять Paint объекты с DeviceRGB или CIE-based цветными пространствами к маршрутам и тексту.

Преобразовать PS в PDF

Позвоните PsDocument.from_file() для доступа к файлу PostScript и позовите to_pdf() для экспорта его в виде потока байтов PDF.

from pathlib import Path
from aspose.page.ps.document import PsDocument
ps = PsDocument.from_file("input.ps")
output_pdf = ps.to_pdf()
Path("output.pdf").write_bytes(output_pdf)

Преобразовать EPS в PNG

Тот же класс PsDocument обрабатывает EPS-файлы. Передайте ImageSaveOptions с желаемым форматом и DPI в to_image().

from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions
eps = PsDocument.from_file("input.eps")
output_png = eps.to_image(ImageSaveOptions(format="png", dpi=150))
with open("output.png", "wb") as f:
    f.write(output_png)

Преобразовать XPS в PDF

Вызвать XpsDocument.from_file() для доступа к документу XPS и вызватьto_pdf(), чтобы экспортировать его в виде потока байтов PDF.

from pathlib import Path
from aspose.page.xps.document import XpsDocument
xps = XpsDocument.from_file("input.xps")
output_pdf = xps.to_pdf()
Path("output.pdf").write_bytes(output_pdf)

Часто задаваемые вопросы

Какой лицензией используется Aspose.Page FOSS для Python?

Aspose.Page FOSS для Python выпущен под лицензией MIT, позволяющей использовать в коммерческих и патентованных приложениях.

Есть ли какие-то местные зависимости?

Нет, библиотека не зависит от Ghostscript, Adobe Reader или любого другого рода runtime. Она работает на Windows, Linux и macOS.

Какие формы ввода поддерживает библиотека?

Библиотека читает файлы PostScript (.ps), Encapsulated Post Script (.eps) и XPS (.xps).

Какие формы вывода производит библиотека?

Библиотека экспортирует в PDF через to_pdf() и на PNG или JPEG растерные изображения посредством to_image() с помощью ImageSaveOptions.

Могу ли я обрабатывать файлы в памяти без диска В/В?

Используйте from_bytes() для загрузки из необработанных байтов и возвращенных Байтов из to_pdf() или to_image() непосредственно без записи файлов.

  

Ресурсы поддержки и обучения

 Русский