Agregar imágenes a archivos PS

Solución C# .NET API para trabajar con imágenes de archivos PS

 

Antes de comenzar a trabajar con imágenes en archivos PostScript es necesario conocer algunas peculiaridades que pueden facilitarte la realización de este trabajo. Aquí hay algunos puntos clave:

  • PostScript no admite transparencia, por lo tanto, las imágenes translúcidas agregadas al documento PS se convertirán en imágenes RGB de 24 bits por píxel y se representarán como opacas. La única excepción son las máscaras de imagen de 1 bit por píxel, es decir, imágenes en las que cada píxel es completamente opaco o completamente transparente. Para tales casos, PsDocument de Aspose.Page ofrece un método separado DrawTransparentImage() con un parámetro de umbral de transparencia (TT). Este parámetro ayuda a convertir una imagen translúcida en una máscara de imagen de 1 bit por píxel. Si el canal alfa del píxel es mayor o igual a TT, el píxel se vuelve completamente transparente. De lo contrario, quedará completamente opaco. Por ejemplo, si TT es 255, sólo los píxeles totalmente transparentes serán totalmente transparentes. El resto de los píxeles se volverán completamente opacos.
  • PS admite varios métodos de compresión para imágenes como DCT (usado en formato JPEG), Flate (usado en compresores ZIP), LZW (usado en formato TIFF) y codificaciones CCITFax. Pero PsDocument de Aspose.Page solo admite los dos primeros. Para las imágenes pequeñas, se utiliza la codificación Flate porque es más efectiva debido a una menor sobrecarga que la codificación DCT. El resto de imágenes están comprimidas con codificación DCT.

  • Al escalar o cambiar el tamaño de imágenes en un archivo PostScript, el intérprete de PostScript puede utilizar diferentes métodos de interpolación para calcular los valores de píxeles de la imagen resultante. Esto puede afectar la calidad y suavidad general de la imagen. Por eso es importante considerar la calidad de salida deseada y elegir el método de interpolación adecuado.

  • Los archivos en formato PS pueden llegar a ser significativamente grandes cuando se incluyen imágenes de alta resolución o varias imágenes. Esto puede afectar la transferencia de archivos y los tiempos de procesamiento, así que optimice el tamaño de los datos de la imagen reduciendo la resolución si es necesario.

Tenga en cuenta estos aspectos para garantizar una integración adecuada de la imagen y una representación precisa en flujos de trabajo basados ​​en PostScript. Pero pase lo que pase, Aspose.Page le proporciona la funcionalidad de agregar imágenes en archivos PS fácilmente. Con esta API puedes agregar diferentes imágenes usando C#. Para obtener más información sobre cómo manejar archivos PS y cómo trabajar con imágenes en archivos PS en particular, siga la documentación.

Para agregar imágenes a documentos PS necesitamos:

  • Aspose.Page para .NET API, que es una API de conversión y manipulación de documentos rica en funciones, potente y fácil de usar para la plataforma C#.

  • Abra el administrador de paquetes NuGet, busque Aspose.Page e instálelo. También puede utilizar el siguiente comando desde la Consola del Administrador de paquetes.

Package Manager Console Command


    PM> Install-Package Aspose.Page

Pasos para agregar imágenes a un archivo PS C#.

El siguiente código crea un documento PS, le agrega una imagen, aplica una transformación a la imagen y guarda el documento con la configuración especificada. Para ver más ejemplos, vaya a Proyecto GitHub Aspose.Page-for-.NET .

  1. Cree una secuencia de salida para el archivo PS resultante.
  2. Cree un objeto PsSaveOptions con opciones predeterminadas. Cambie el color de fondo si es necesario.
  3. Cree una nueva instancia de PsDocument con el flujo de salida, las opciones y false como parámetros. Esto inicializa un nuevo documento PostScript con las opciones especificadas.
  4. Crea un nuevo estado de gráficos.
  5. Cree System.Drawing.Bitmap a partir del archivo de imagen.
  6. Crea la transformación necesaria para la imagen.
  7. Agregue la imagen a PsDocument como una imagen completamente opaca (usando el método AddImage()) si estamos seguros de que la imagen es opaca o agregue una como imagen transparente (usando el método AddTransparentImage()) si no estamos seguros de que la imagen sea opaco.
  8. Salga del estado de gráficos actual al nivel uno superior.
  9. Llame a ClosePage() para indicar que la página actual está completa.
  10. Guarde los cambios usando el método Save().

Código C# para insertar una imagen en un archivo 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();
    }



Preguntas más frecuentes

1. ¿Puedo agregar imágenes a archivos PostScript (PS)?

Sí, puedes agregar imágenes a archivos PostScript. PostScript es un lenguaje de descripción de páginas que se utiliza principalmente para flujos de trabajo de impresión y publicación. Si bien se ocupa principalmente de comandos de texto y gráficos, también admite la inclusión de imágenes. Las imágenes en archivos PostScript generalmente se representan como datos de mapa de bits o gráficos vectoriales, según los requisitos específicos del documento.

2. ¿Cómo agrego imágenes a un archivo PostScript (PS)?

Para agregar imágenes a un archivo PostScript, normalmente necesita incluir los comandos de imagen apropiados dentro del archivo PS. Estos comandos especifican la ubicación, el tamaño y otras propiedades de la imagen que se incluirá. Es posible que también necesites convertir tus imágenes a un formato compatible con PostScript, como EPS (PostScript encapsulado), antes de incluirlas en tu archivo PS.

3. ¿Qué formatos de archivos de imagen son compatibles con los archivos PostScript (PS)?

Los archivos PostScript pueden incluir imágenes en varios formatos, incluidos EPS, TIFF, JPEG, PNG, BMP, GIF, etc. Estos formatos se pueden incluir en archivos PostScript usando comandos y especificaciones apropiados para garantizar la compatibilidad y la representación adecuada cuando se imprime o se reproduce el archivo PS. visto.

PS Qué es PS Formato de archivo

El formato PS es uno de los formatos de lenguaje de descripción de página (PDL). Es capaz de contener información gráfica y de texto en la página. Es por eso que el formato fue soportado por la mayoría de los programas de edición de imágenes. El archivo postscript en sí mismo es una especie de instrucción para las impresoras. Contiene información sobre qué y cómo imprimir desde su página.