Перевод 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/)
 Русский