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

Aspose.Page FOSS для Python

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

Открытая Python библиотека для конвертации PS, EPS и XPS

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 — Enterprise Product Family.

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

  • PS to PDF: Вызовите PsDocument.from_file(), затем to_pdf(), чтобы экспортировать документ в виде массива байтов PDF.
  • EPS to 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 для архивирования или распространения.
  • Print workflows: Преобразовать вывод PS из драйверов печати в PDF или предварительные просмотры изображений.
  • Обработка EPS-ресурсов: Растрировать EPS-иллюстрации в PNG для веба или использования в документации.
  • Batch automation: Обрабатывайте каталоги файлов PS/EPS в CI или cron‑задачах без графического интерфейса.

Конвертировать документы 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 spool‑файлы из подсистемы печати Windows в PDF или изображение.
  • Архивирование документов: Преобразуйте файлы XPS в универсально читаемый PDF для длительного хранения.
  • Генерация превью: Рендерить XPS-страницы в PNG-миниатюры для систем управления документами.
  • Кросс‑платформенное использование: Обрабатывайте XPS‑файлы на серверах Linux и macOS, где недоступны родные просмотрщики.

MCP‑сервер для удалённого конвертирования

  • Экспозиция инструмента: 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 или записывает в путь.
  • Параметры конвертации: McpConversionOptions управляет форматом вывода и DPI при конвертации изображений.
  • Optional dependency: FastMCP требуется только для размещения сервера MCP; основное преобразование работает без него.

Сценарии использования MCP

  • Конвейеры AI‑агентов: Откройте преобразование документов как инструмент, вызываемый Клодом или другими агентами, совместимыми с MCP.
  • Microservices: Запустите легковесный сервис конвертации, принимающий PS/EPS/XPS через HTTP.
  • IDE plugins: Функциональность конвертации на уровне поверхности для редакторов, поддерживающих серверы инструментов MCP.
  • Workflow automation: Интегрируйте конвертацию в 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.
  • Pixel-perfect testing: Используйте RasterRenderer для рендеринга документов и сравнения пиксельных выводов в автоматических тестах.
  • Встраивание шрифтов: Встраивайте шрифты TrueType, используя FontResolver и build_embedded_font() для корректного отображения.
  • Управление цветом: Применяйте Paint объекты с цветовыми пространствами DeviceRGB или основанными на CIE к путям и тексту.

Преобразовать 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 License, позволяя использовать его в коммерческих и проприетарных приложениях.

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

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

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

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

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

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

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

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

  

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

 Русский