Преобразование PS, EPS и XPS
PS, EPS и XPS Converter API Решение для .NET.
Всякий раз, когда возникает необходимость преобразовать файлы PostScript PS и Encapsulated PostScript EPS, а также документы XPS программным путем, .NET API может сделать это без проблем и преобразовать несколько файлов. Для PS и EPS API поддерживает операторы PostScript уровней 1-3 и большинство комментариев заголовков EPS, а также преобразует документы PostScript с максимальным соответствием, за исключением нескольких случаев шрифтов, а API работает с такими шрифтами, как Time New Roman.
Более того, для преобразования XPS-файлов API может добавлять или удалять страницы, работать с холстами, путями и элементами глифов, создавать фигуры векторной графики, текстовые строки, преобразовывать элементы схемы XPS и многое другое.
Представленное здесь решение API для .NET позволяет программно преобразовывать файлы таких форматов PDL, как PS, EPS и XPS, но вам может быть полезно посмотреть и попробовать кроссплатформенные решения, разработанные на основе этих собственных API.
Преобразование PostScript в PDF через C# .NET.
Чтобы преобразовать файлы PostScript PS и Encapsulated PostScript EPS в PDF через .NET API, вам необходимо выполнить следующие шаги:
- Загрузите файл PS или EPS, используя PsDocument Class .
- Установите сохранение PDF с помощью PdfSaveOptions Class .
- Используйте FileStream Class для выходного файла PDF.
- Класс PdfDevice путем инициализации с выходным объектом файлового потока PDF.
- Вызовите PsDocument.Save для преобразования PDF.
Код C# для преобразования PS EPS в PDF
// The path to the documents directory. | |
string dataDir = "definedDirectoryPath"; | |
// Initialize PsDocument with the name of PostScript file. | |
PsDocument document = new PsDocument(dataDir + "input.ps"); | |
// If you want to convert Postscript file despite of minor errors set this flag | |
bool suppressErrors = true; | |
//Initialize options object with necessary parameters. | |
PdfSaveOptions options = new PdfSaveOptions(suppressErrors); | |
// If you want to add special folder where fonts are stored. Default fonts folder in OS is always included. | |
options.AdditionalFontsFolders = new string[] { @"{FONT_FOLDER}" }; | |
// Default page size is 595x842 and it is not mandatory to set it in PdfSaveOptions | |
// But if you need to specify sizeuse following line | |
//PdfSaveOptions options = new PdfSaveOptions(suppressErrorsnew, Aspose.Page.Drawing.Size(595x842)); | |
// or | |
//saveOptions.Size = new Aspose.Page.Drawing.Size(595x842); | |
document.SaveAsPdf(dataDir + "outputPDF_out.pdf", options); | |
//Review errors | |
if (suppressErrors) | |
{ | |
foreach (Exception ex in options.Exceptions) | |
{ | |
Console.WriteLine(ex.Message); | |
} | |
} |
Преобразование PostScript в изображения через C# .NET.
Для любого приложения конвертера EPS/PS PostScript в изображения хорошо работает следующий код C#, поэтому выполните следующие действия:
- Загрузите документ, используя класс PsDocument, имеющий входной файловый поток в качестве параметра.
- Создайте объект ImageSaveOptions Class и инициализируйте его с необходимыми настройками.
- Сохраните каждую страницу входного файла в изображение PNG, JPG, TIFF, BMP и т. д.
Код C# для преобразования PostScript в изображения
// The path to the documents directory. | |
string dataDir = "definedDirectoryPath"; | |
// Initialize PsDocument with the name of PostScript file. | |
PsDocument document = new PsDocument(dataDir + "inputForImage.ps"); | |
// If you want to convert Postscript file despite of minor errors set this flag | |
bool suppressErrors = true; | |
//Initialize options object with necessary parameters. | |
ImageSaveOptions options = new ImageSaveOptions(); | |
//Set output image format. | |
options.ImageFormat = Aspose.Page.Drawing.Imaging.ImageFormat.Png; | |
// If you want to add special folder where fonts are stored. Default fonts folder in OS is always included. | |
options.AdditionalFontsFolders = new string[] { @"{FONT_FOLDER}" }; | |
// Save PS document as array of image bytes, one bytes array for one page. | |
byte[][] imagesBytes = document.SaveAsImage(options); | |
//Save images bytes arrays as image files. | |
int i = 0; | |
foreach (byte[] imageBytes in imagesBytes) | |
{ | |
string imagePath = Path.GetFullPath(dataDir + "out_image" + i.ToString() +"." + options.ImageFormat.ToString().ToLower()); | |
using (FileStream fs = new FileStream(imagePath, FileMode.Create, FileAccess.Write)) | |
{ | |
fs.Write(imageBytes, 0, imageBytes.Length); | |
} | |
i++; | |
} |
FAQ
1. Могу ли я преобразовать Postscript с помощью этого решения API?
Aspose.Page имеет функциональные возможности, позволяющие конвертировать файлы PS, XPS и EPS в другие форматы онлайн или программно. Если вам нужно мгновенно преобразовать файлы онлайн, вы можете использовать кроссплатформенное приложение Конвертер файлов формата описания страницы .
2. Какие языки описания страниц поддерживаются конвертером?
Эта функция преобразования поддерживает файлы с расширениями .ps, .eps и .xps. Такие известные PDL, как PDF и SVG, представлены в виде отдельных решений в продуктах Aspose.
3. Функционал бесплатный?
Кросс-платформенные конвертеры бесплатны, когда для решения API вы можете получить бесплатную пробную версию, а затем купить продукт, если это необходимо.
Преобразование XPS в изображения JPG, PNG, BMP через C# .NET.
.NET API также поддерживает преобразование XPS в изображения BMP, JPG, PNG, TIFF и т. д. и предоставляет класс XpsDocument для операций XPS. Чтобы преобразовать XPS в изображение, выполните следующие действия:
- Загрузите файл XPS из потока.
- Инициализируйте соответствующие параметры сохранения изображения, например, для XPS в JPG это JpegSaveOptions а для XPS в PNG — PngSaveOptions . Вот список всех XPS в образ сохранить параметры .
- Определите соответствующие параметры рендеринга, такие как SmoothingMode, Resolution, PageNumbers и т. д. Наконец, пройдитесь по разделам документа, чтобы сохранить их в изображения.
Код C# для преобразования XPS в изображение
// The path to the documents directory. | |
string dataDir = "definedDirectoryPath"; | |
//Outut file | |
string outputFileName = dataDir + "XPStoImage_out.jpeg"; | |
// Load XPS document form the XPS file | |
XpsDocument document = new XpsDocument(dataDir + "input.xps", new XpsLoadOptions()); | |
// Initialize options object with necessary parameters. | |
JpegSaveOptions options = new JpegSaveOptions() | |
{ | |
SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality, | |
Resolution = 300, | |
PageNumbers = new int[] { 1, 2, 6 } | |
}; | |
// Save XPS document to the images byte arrays. The first dimension is for inner documents | |
/// and the second one is for pages within inner documents. | |
byte[][][] imagesBytes = document.SaveAsImage(options); | |
// Iterate through document partitions (fixed documents, in XPS terms) | |
for (int i = 0; i < imagesBytes.Length; i++) | |
{ | |
// Iterate through partition pages | |
for (int j = 0; j < imagesBytes[i].Length; j++) | |
{ | |
// Initialize image output stream | |
using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) + Path.DirectorySeparatorChar + | |
Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) + | |
Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write)) | |
// Write image | |
imageStream.Write(imagesBytes[i][j], 0, imagesBytes[i][j].Length); | |
} | |
} |
Support and Learning Resources
- Образовательные ресурсы
- Документация
- Исходный код
- Ссылки на API
- Поддержка продукта
- Бесплатная поддержка
- Платная поддержка
- Блог
- Release Notes
- Почему Aspose.Page для .NET?
- Список клиентов
- Истории успеха