Перевод PS и EPS
Перевод PS и EPS
PsDocument - входной пункт для загрузки PostScript (.ps) и Encapsulated PostScript (включая вкладки) (.epsОба формата обрабатываются одним и тем же классом через один интерфейс.
Загрузка PS или EPS файла
Использование: PsDocument.from_file() загрузить документ с пути файла. is_eps имущество указывает, является ли загруженный файл EPS-файлом.
from aspose.page.ps.document import PsDocument
ps = PsDocument.from_file("document.ps")
eps = PsDocument.from_file("illustration.eps")
print("Is EPS:", eps.is_eps)Для загрузки из необработанных байтов (например, запуск или сетевой поток) используйте from_bytes():
with open(“document.ps”, “rb”) as f: data = f.read() doc = PsDocument.from_bytes(data)
---
### Экспорт на PDF-файл
Call `to_pdf()` на загруженном `PsDocument` получить массив PDF-байтов. Напишите результат на диске или возвращать его непосредственно из обработчика HTTP.
```python
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)Экспорт в PNG или JPEG
Пропускаю. ImageSaveOptions В частности, к to_image().- Настроен . format в) к "png" или в другом случае: "jpeg" и в том числе: dpi желаемого разрешения.
from pathlib import Path
from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions
eps = PsDocument.from_file("illustration.eps")
opts = ImageSaveOptions(format="png", dpi=150)
Path("output.png").write_bytes(eps.to_image(opts))Чтение метаданных EPS DSC
PsDocument.dsc возвращает a DscMetadata пример, когда присутствуют комментарии к заголовку DSC. Используйте его для чтения полевых знаков, заголовка и создателя перед конвертацией.
eps = PsDocument.from_file(“illustration.eps”) dsc = eps.dsc if dsc is not None: print(“Title:”, dsc.title) print(“Bounding box:”, dsc.bounding_box) print(“Creator:”, dsc.creator)
---
### Советы и лучшие практики
- Использование: `from_bytes()` при обработке загрузок, чтобы избежать записи временных файлов.
- Check `is_eps` разветвлять логику при обработке смешанной партии файлов PS и EPS.
- Набор `dpi=150` или выше для растрового выходного изображения, используемого в системах предварительного просмотра документов.
- Все методы конвертации возвращают `bytes` хранить или передавать их в потоковом режиме без диска В/В, если это необходимо.
---
### Общие проблемы
| Issue | Cause | Устранить |
| -------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------ |
| `FileNotFoundError` | Путь передан в `from_file()` не существует. | Проверка пути файла перед вызовом . `from_file()` |
| Пустой выход PDF-файла | PS файл не содержит содержания, которое можно отобразить. | Проверьте источник PS на предмет отсутствия . `showpage` операторы |
| Растр с низким разрешением | По умолчанию DPI 96 . | Pass `ImageSaveOptions(dpi=150)` или выше |
---
### FAQ
#### Могу ли я преобразовать EPS-файлы в PDF?
- Да, я знаю. `PsDocument.from_file()` принимает и то , и другое . `.ps` и в том числе: `.eps` Позвоните. `to_pdf()` на возвращенном документе для получения файлов PDF-байтов.
#### Для преобразования нужен Ghostscript?
Нет, библиотека не зависит от Ghostscript или любого другого времени выполнения.
#### Могу ли я обрабатывать файлы PS без записи на диск?
Да, используйте. `from_bytes()` загрузка с `bytes` объекта и использовать возвращенные `bytes` от: `to_pdf()` или в другом случае: `to_image()` непосредственно не нужно писать файлы.
---
### Справочное резюме API
| Класс / метод | Description |
| ------------------------------ | --------------------------------------------- |
| `PsDocument.from_file(path)` | Загрузка PS или EPS с пути файла |
| `PsDocument.from_bytes(data)` | Загрузка PS или EPS из необработанных байтов. |
| `PsDocument.to_pdf(options)` | Экспорт в PDF-байты |
| `PsDocument.to_image(options)` | Экспорт на байты растрового изображения |
| `PsDocument.is_eps` | Верно, если загруженный файл EPS |
| `PsDocument.dsc` | Метаданные заголовка DSC (файлы EPS) |
| `DscMetadata.bounding_box` | Ограничительный ящик EPS как (x0, y0, x1, y1) |
| `DscMetadata.title` | Заголовок из заголовка EPS DSC |
| `ImageSaveOptions.format` | Формат вывода: "png" или "jpeg" |
| `ImageSaveOptions.dpi` | Разрешение вывода в DPI |
## See Also
- [Aspose.Page — Enterprise Documentation](https://docs.aspose.com/page/)