Ajouter des images aux fichiers PS

Solution API C# .NET pour travailler avec des images de fichiers PS

 

Avant de commencer à travailler avec des images dans des fichiers PostScript, vous devez connaître certaines particularités qui peuvent vous faciliter la tâche. Voici quelques points clés :

  • PostScript ne prend pas en charge la transparence, par conséquent les images translucides ajoutées au document PS seront converties en image RVB 24 bits par pixel et rendues opaques. La seule exception concerne les masques d’image de 1 bit par pixel, c’est-à-dire les images dont chaque pixel est entièrement opaque ou entièrement transparent. Pour de tels cas, PsDocument d’Aspose.Page propose une méthode distincte DrawTransparentImage() avec un paramètre de seuil de transparence (TT). Ce paramètre permet de convertir une image translucide en un masque d’image de 1 bit par pixel. Si le canal alpha du pixel est supérieur ou égal à TT, le pixel devient totalement transparent. Sinon, il sera totalement opaque. Par exemple, si TT est de 255, seuls les pixels entièrement transparents seront entièrement transparents. Le reste des pixels deviendra complètement opaque.
  • PS prend en charge diverses méthodes de compression pour les images telles que DCT (utilisé au format JPEG), Flate (utilisé dans les compresseurs ZIP), LZW (utilisé au format TIFF) et les encodages CCITFax. Mais le PsDocument d’Aspose.Page ne prend en charge que les deux premiers. Pour les petites images, le codage Flate est utilisé car il est plus efficace en raison d'une surcharge inférieure que le codage DCT. Le reste des images est compressé avec l’encodage DCT.

  • Lors de la mise à l'échelle ou du redimensionnement d'images dans un fichier PostScript, l'interpréteur PostScript peut utiliser différentes méthodes d'interpolation pour calculer les valeurs de pixels de l'image résultante. Cela peut affecter la qualité globale et la fluidité de l’image. Il est donc important de prendre en compte la qualité de sortie souhaitée et de choisir la méthode d'interpolation appropriée.

  • Les fichiers au format PS peuvent devenir considérablement volumineux lorsqu'ils incluent des images haute résolution ou plusieurs images. Cela peut avoir un impact sur les temps de transfert et de traitement des fichiers. Optimisez donc la taille des données d'image en réduisant la résolution si nécessaire.

Gardez ces aspects à l’esprit pour garantir une intégration correcte des images et un rendu précis dans les flux de travail basés sur PostScript. Mais quoi qu’il en soit, Aspose.Page vous offre la fonctionnalité permettant d’ajouter facilement des images dans des fichiers PS. Avec cette API, vous pouvez ajouter différentes images en utilisant C#. Pour en savoir plus sur la façon de gérer les fichiers PS et sur la façon de travailler avec les images dans les fichiers PS en particulier, suivez la documentation.

Pour ajouter des images aux documents PS, nous avons besoin de :

  • Aspose.Page pour l'API .NET qui est une API de manipulation et de conversion de documents riche en fonctionnalités, puissante et facile à utiliser pour la plate-forme C#.

  • Ouvrez le gestionnaire de packages NuGet, recherchez Aspose.Page et installez. Vous pouvez également utiliser la commande suivante à partir de la console Package Manager.

Package Manager Console Command


    PM> Install-Package Aspose.Page

Étapes pour ajouter des images à un fichier PS C#.

Ce code ci-dessous crée un document PS, y ajoute une image, applique une transformation à l’image et enregistre le document avec les paramètres spécifiés. Pour voir plus d’exemples, accédez au projet Aspose.Page-for-.NET GitHub .

  1. Créez un flux de sortie pour le fichier PS résultant.
  2. Créez un objet PsSaveOptions avec les options par défaut. Changez la couleur d’arrière-plan si nécessaire.
  3. Créez une nouvelle instance de PsDocument avec le flux de sortie, les options et false comme paramètres. Cela initialise un nouveau document PostScript avec les options spécifiées.
  4. Créez un nouvel état graphique.
  5. Créez System.Drawing.Bitmap à partir du fichier image.
  6. Créez la transformation nécessaire pour l’image.
  7. Ajoutez l’image à PsDocument en tant qu’image entièrement opaque (en utilisant la méthode AddImage()) si nous sommes sûrs que l’image est opaque ou ajoutez-en une en tant qu’image transparente (en utilisant la méthode AddTransparentImage()) si nous ne sommes pas sûrs que l’image soit opaque.
  8. Quittez l’état graphique actuel pour passer au niveau supérieur.
  9. Appelez le ClosePage() pour indiquer que la page actuelle est terminée.
  10. Enregistrez les modifications à l’aide de la méthode Save().

Code C# pour insérer une image dans un fichier 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();
    }



FAQ

1. Puis-je ajouter des images aux fichiers PostScript (PS) ?

Oui, vous pouvez ajouter des images aux fichiers PostScript. PostScript est un langage de description de page utilisé principalement pour les flux de travail d’impression et de publication. Bien qu’il traite principalement des commandes de texte et de graphiques, il prend également en charge l’inclusion d’images. Les images des fichiers PostScript sont généralement représentées sous forme de données bitmap ou de graphiques vectoriels, en fonction des exigences spécifiques du document.

2. Comment ajouter des images à un fichier PostScript (PS) ?

Pour ajouter des images à un fichier PostScript, vous devez généralement inclure les commandes d’image appropriées dans le fichier PS. Ces commandes spécifient l’emplacement, la taille et d’autres propriétés de l’image à inclure. Vous devrez peut-être également convertir vos images dans un format compatible avec PostScript, tel que EPS (Encapsulated PostScript), avant de les inclure dans votre fichier PS.

3. Quels formats de fichiers image sont compatibles avec les fichiers PostScript (PS) ?

Les fichiers PostScript peuvent inclure des images dans divers formats, notamment EPS, TIFF, JPEG, PNG, BMP, GIF, etc. Ces formats peuvent être inclus dans les fichiers PostScript à l’aide des commandes et spécifications appropriées pour garantir la compatibilité et le rendu correct lorsque le fichier PS est imprimé ou vu.

PS Qu'est-ce que le format de fichier PS

Le format PS est l'un des formats de langage de description de page (PDL). Il est capable de contenir des informations graphiques et textuelles sur la page. C'est pourquoi le format était pris en charge par la plupart des programmes de retouche d'image. Le fichier postscript lui-même est une sorte d'instruction pour les imprimeurs. Il contient des informations sur quoi et comment imprimer à partir de sa page.