Introduction

Aspose.Page FOSS for Python is a free, open-source library for converting PostScript (PS), Включение в себя PostScript (EPS) и XPS документов на PDF-файлы и растровые изображения на Python. Он распространяется под лицензией MIT и доступен на PyPI как aspose-page-foss.

Библиотека предоставляет два класса документов верхнего уровня: PsDocument для файлов PS и EPS, и в том числе: XpsDocument для файлов XPS. Оба класса выставляют to_pdf() и в том числе: to_image() методы что возвращают байт массивы, делая его просто интегрировать в обработку файлов трубопроводов без записи временных файлов.

Поскольку библиотека не зависит от Ghostscript, Adobe Reader или любого другого Office-производства, она работает на Windows, Linux и macOS, включая CI-бегунов и контейнеры Docker. Разработчики, которым нужен полный коммерческий API с расширенными функциями рендеринга, могут продолжать использовать enterprise Aspose.Пейдж для продукта Python вместе с этими утилитами открытого исхода.


Что входит в него?

PS и EPS в PDF преобразование

PsDocument обрабатывает как PostScript (.ps) и Encapsulated PostScript (.eps) файлы через один и тот же класс интерфейс. PsDocument.from_file() загрузить документ, затем звонок to_pdf() получить результат в виде массива PDF-байтов.

from pathlib import Path
from aspose.page.ps.document import PsDocument

ps = PsDocument.from_file("input.ps")
pdf_bytes = ps.to_pdf()
Path("output.pdf").write_bytes(pdf_bytes)

В связи с этим from_bytes() метод класса принимает необработанные байты, так что документы прибывающие из сети потоки или загрузка файлов могут быть обработаны без записи на диск.

PS и EPS на растровое изображение

Для отображения документа PS или EPS в PNG или JPEG-образе, пропускайте файл: ImageSaveOptions примерно в) к to_image().Настроить … format имущество в "png" или в другом случае: "jpeg" и в dpi имущество для управления разрешением выхода.

from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions

eps = PsDocument.from_file("input.eps")
opts = ImageSaveOptions(format="png", dpi=150)
png_bytes = eps.to_image(opts)

XPS в PDF и изображение

XpsDocument загружает файлы XPS и выставляет тот же to_pdf() и в том числе: to_image() интерфейс как PsDocument.- Позвони . XpsDocument.from_file() загрузить документ XPS, затем преобразовать в желаемый формат вывода.

from pathlib import Path
from aspose.page.xps.document import XpsDocument
from aspose.page.ps.output import ImageSaveOptions

xps = XpsDocument.from_file("input.xps")
pdf_bytes = xps.to_pdf()
Path("output.pdf").write_bytes(pdf_bytes)

png_bytes = xps.to_image(ImageSaveOptions(format="png", dpi=96))

Обработка данных в памяти

Все методы конвертации возвращают bytes Временные файлы никогда не требуются, если только в приложении их прямо записывается. from_bytes() конструкторы на обоих PsDocument и в том числе: XpsDocument принимать необработанные байты в качестве входа, так что вся труба может оставаться в памяти.

from aspose.page.ps.document import PsDocument

def convert_ps_in_memory(ps_bytes: bytes) -> bytes:
    doc = PsDocument.from_bytes(ps_bytes)
    return doc.to_pdf()

Интеграция сервера MCP

Библиотека включает в себя опционный сервер MCP, который выставляет функции конвертации как удаленные. инструменты, использующие FastMCP. Сервер регистрирует ps_to_pdf, ps_to_image, xps_to_pdf, и xps_to_image как призывные инструменты. McpInput принимает путь файла или байты, кодированные в base64; McpOutput возвращает base64 байты или записывает в путь.

FastMCP является опциональной зависимостью основной функционал конверсии работает без него. Сервер MCP полезен для того, чтобы библиотека могла быть вызвана из агентских трубопроводов ИИ, микросервисов и редакторов, которые поддерживают серверы инструментов MPC .


Быстрый старт .

Установка библиотеки с помощью pip:

pip install aspose-page-foss>=0.1.0

В следующем примере описывается наиболее распространенный случай использования преобразование PS-файла в PDF и сохранение его на диске:

from pathlib import Path
from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions

# Convert PS to PDF
ps = PsDocument.from_file("document.ps")
Path("document.pdf").write_bytes(ps.to_pdf())

# Convert EPS to PNG at 150 DPI
eps = PsDocument.from_file("illustration.eps")
opts = ImageSaveOptions(format="png", dpi=150)
Path("illustration.png").write_bytes(eps.to_image(opts))

# Convert XPS to PDF
from aspose.page.xps.document import XpsDocument
xps = XpsDocument.from_file("document.xps")
Path("document.pdf").write_bytes(xps.to_pdf())

Поддерживаемые форматы

Aspose.Page FOSS for Python reads PostScript (.ps), в капсулах PostScript (.eps), и Спецификация XML (.xpsВ результате, в процессе работы с файлами (.pdf) и растровые изображения. (.png, .jpegВсе конвертации экспортируются только библиотека не пишет PS, EPS или XPS.


Открытый исходный код и лицензирование

Aspose.Page FOSS for Python is released under the MIT license. The source code is hosted на GitHub по адресу: github.com/aspose-page-foss/Aspose.Page-FOSS-для-Питона. Коммерческое использование разрешено без ограничений в соответствии с условиями MIT.


Начинать

Связанные ресурсы