Вставка изображения в файлы PS

Решение C# .NET API для работы с изображениями файлов PS

 

Прежде чем приступить к работе с изображениями в файлах PostScript, необходимо знать некоторые особенности, которые могут облегчить вам эту работу. Вот несколько ключевых моментов:

  • PostScript не поддерживает прозрачность, поэтому полупрозрачные изображения, добавленные в документ PS, будут преобразованы в изображение RGB с разрешением 24 бита на пиксель и отображены как непрозрачные. Единственным исключением являются маски изображений с битом на пиксель, то есть изображения, в которых каждый пиксель либо полностью непрозрачен, либо полностью прозрачен. Для таких случаев PsDocument Aspose.Page предлагает отдельный метод DrawTransparentImage() с параметром порога прозрачности (TT). Этот параметр помогает преобразовать полупрозрачное изображение в маску изображения с разрешением 1 бит на пиксель. Если альфа-канал пикселя больше или равен ТТ, пиксель становится полностью прозрачным. В противном случае он будет полностью непрозрачным. Например, если TT равно 255, полностью прозрачными будут только полностью прозрачные пиксели. Остальные пиксели станут полностью непрозрачными.
  • PS поддерживает различные методы сжатия изображений, такие как DCT (используется в формате JPEG), Flate (используется в компрессорах ZIP), LZW (используется в формате TIFF) и кодировки CCITFax. Но PsDocument Aspose.Page поддерживает только первые два. Для небольших изображений используется кодирование Flate, поскольку оно более эффективно из-за меньших затрат, чем кодирование DCT. Остальные изображения сжимаются с помощью кодировки DCT.

  • При масштабировании или изменении размера изображений в файле PostScript интерпретатор PostScript может использовать различные методы интерполяции для расчета значений пикселей результирующего изображения. Это может повлиять на общее качество и плавность изображения. Поэтому важно учитывать желаемое качество вывода и выбирать подходящий метод интерполяции.

  • Файлы в формате PS могут стать значительно большими, если в них включены изображения с высоким разрешением или несколько изображений. Это может повлиять на время передачи и обработки файлов, поэтому оптимизируйте размер данных изображения, при необходимости уменьшив разрешение.

Помните об этих аспектах, чтобы обеспечить правильную интеграцию изображений и точный рендеринг в рабочих процессах на основе PostScript. Но несмотря ни на что, Aspose.Page предоставляет вам возможность легко добавлять изображения в файлы PS. С помощью этого API вы можете добавлять разные изображения с помощью C#. Чтобы узнать больше о том, как обращаться с файлами PS и как работать с изображениями в файлах PS, следуйте документации.

Для добавления изображений в документы PS нам понадобится:

  • Aspose.Page для .NET API — многофункциональный, мощный и простой в использовании API для манипулирования и преобразования документов для платформы C#.

  • Откройте диспетчер пакетов NuGet, найдите Aspose.Page и установите. Вы также можете использовать следующую команду из консоли диспетчера пакетов.

Package Manager Console Command


    PM> Install-Package Aspose.Page

Действия по добавлению изображений в файл PS C#.

Этот код ниже создает документ PS, добавляет к нему изображение, применяет преобразование к изображению и сохраняет документ с указанными настройками. Чтобы увидеть больше примеров, перейдите в проект Aspose.Page-for-.NET GitHub .

  1. Создайте выходной поток для полученного файла PS.
  2. Создайте объект PsSaveOptions с параметрами по умолчанию. При необходимости измените цвет фона.
  3. Создайте новый экземпляр PsDocument с потоком вывода, параметрами и false в качестве параметров. Это инициализирует новый документ PostScript с указанными параметрами.
  4. Создайте новое состояние графики.
  5. Создайте System.Drawing.Bitmap из файла изображения.
  6. Создайте необходимое преобразование изображения.
  7. Добавьте изображение в PsDocument как полностью непрозрачное изображение (с помощью метода AddImage()), если мы уверены, что изображение непрозрачно, или добавьте его как прозрачное изображение (с помощью метода AddTransparentImage()), если мы не уверены, что изображение непрозрачный.
  8. Выход из текущего состояния графики на верхний уровень.
  9. Вызовите ClosePage() , чтобы указать, что текущая страница завершена.
  10. Сохраните изменения, используя метод Save().

Код C# для вставки изображения в файл PS

    using Aspose.Page.EPS;
    using Aspose.Page.EPS.Device;
    using System.Drawing;
    using System.Drawing.Drawing2D;
    using System.IO;
//Create an output stream for PostScript document
using (Stream outPsStream = new FileStream(dataDir + "AddTransparentImage_outPS.ps", FileMode.Create))
    {
        //Create save options with A4 size
        PsSaveOptions options = new PsSaveOptions();
        //Set page's background color to see a white image on it's own transparent background
        options.BackgroundColor = Color.FromArgb(211, 8, 48);

        // Create a new 1-paged PS Document
        PsDocument document = new PsDocument(outPsStream, options, false);


        document.WriteGraphicsSave();
        document.Translate(20, 100);

        //Create a bitmap from the translucent image file
        using (Bitmap image = new Bitmap(dataDir + "mask1.png"))
        {
            //Add this image to the document as usual opaque RGB image
            document.DrawImage(image, new System.Drawing.Drawing2D.Matrix(1, 0, 0, 1, 100, 0), Color.Empty);
        }

        //Again create a bitmap from the same image file
        using (Bitmap image = new Bitmap(dataDir + "mask1.png"))
        {
            //Add this image to the document as transparent image
            document.DrawTransparentImage(image, new System.Drawing.Drawing2D.Matrix(1, 0, 0, 1, 350, 0), 255);
        }

        document.WriteGraphicsRestore();

        //Close the current page
        document.ClosePage();

        //Save the document
        document.Save();
    }



Часто задаваемые вопросы

1. Могу ли я добавлять изображения в файлы PostScript (PS)?

Да, вы можете добавлять изображения в файлы PostScript. PostScript — это язык описания страниц, используемый в основном для рабочих процессов печати и публикации. Хотя он в основном имеет дело с текстовыми и графическими командами, он также поддерживает включение изображений. Изображения в файлах PostScript обычно представлены в виде растровых данных или векторной графики, в зависимости от конкретных требований документа.

2. Как добавить изображения в файл PostScript (PS)?

Чтобы добавить изображения в файл PostScript, вам обычно необходимо включить соответствующие команды изображения в файл PS. Эти команды определяют местоположение, размер и другие свойства включаемого изображения. Вам также может потребоваться преобразовать изображения в формат, совместимый с PostScript, например EPS (инкапсулированный PostScript), прежде чем включать их в файл PS.

3. Какие форматы файлов изображений совместимы с файлами PostScript (PS)?

Файлы PostScript могут включать изображения в различных форматах, включая EPS, TIFF, JPEG, PNG, BMP, GIF и т. д. Эти форматы можно включать в файлы PostScript с помощью соответствующих команд и спецификаций для обеспечения совместимости и правильного рендеринга при печати или просмотрено.

PS Формат файла PS

Формат PS является одним из форматов языка описания страниц (PDL). Он способен содержать как графическую, так и текстовую информацию на странице. Именно поэтому формат поддерживался большинством программ для редактирования изображений. Сам файл postscript является своеобразной инструкцией для принтеров. Он содержит информацию о том, что и как печатать со своей страницы.