Table des matières
Installé via NuGet
PM> Install-Package Spire.PDF
Liens connexes
Les fichiers PDF sont largement utilisés dans le travail quotidien en raison de leur mise en page stable, de leur transférabilité facile et de leur grande lisibilité. Dans certains cas, vous devrez peut-être convertir un PDF en images. L'enregistrement du contenu sous forme d'images accélère non seulement le chargement, mais réduit également le risque de modification accidentelle. De plus, si vous souhaitez intégrer des fichiers ou des pages PDF dans d'autres documents ou pages Web, les convertir dans des formats d'image spécifiés est un excellent choix. Ce passage couvre les détails de en utilisant C# pour convertir un PDF en image. Et vous pouvez facilement convertir des PDF aux formats d'image souhaités avec du code C# tout en préservant la fidélité visuelle du contenu original.
- Bibliothèque C# pour la conversion PDF
- Classification des formats d'images
- Convertir un PDF en PNG/JPG/BMP/EMF/TIFF en C#
- Convertir un PDF en SVG en C#
- Convertir un PDF en TIFF de plusieurs pages en C#
Bibliothèque C# pour la conversion PDF
Cet article montre comment convertir un PDF en image à l'aide de Spire.PDF for .NET, une bibliothèque de traitement PDF fiable qui vous permet de manipuler et de convertir des fichiers PDF dans des applications .NET. Avec lui, vous pouvez même ajuster les propriétés de l'image, telles que sa taille et ses pixels, lors de la conversion de PDF en image.
En plus de l'image, cette bibliothèque vous permet également de convertir des PDF en Word, des PDF en HTML, des PDF en XPS, etc.
Vous pouvez soit le télécharger et référencer le fichier DLL manuellement, soit l'installer via NuGet à l'aide de la commande suivante :
PM> Install-Package Spire.PDF
Classification des formats d'images
En infographie, les images peuvent être classées en deux grandes catégories :
- Images bitmap sont composés d’une grille de pixels individuels, où chaque pixel se voit attribuer une couleur spécifique. Les formats d'image bitmap courants incluent PNG, JPG, BMP, EMF et TIFF.
- Les graphiques vectoriels, quant à eux, représentent des images à l'aide d'équations mathématiques et de formes géométriques telles que des lignes, des courbes et des polygones. Formats graphiques vectoriels courants inclure SVG et EPS.
Actuellement, Spire.PDF for .NET prend en charge les formats PNG/JPG/BMP/EMF/TIFF/SVG. Ensuite, je vais vous donner les détails de chaque conversion.
Convertir un PDF en PNG/JPG/BMP/EMF/TIFF en C#
Pas
- Créez une instance PdfDocument et chargez un fichier PDF à partir du disque à l'aide de la méthode LoadFromFile().
- Appelez la méthode SaveAsImage(int pageIndex, PdfImageType type, int dpiX, int dpiY) pour convertir la page spécifiée en image.
- Enfin, enregistrez les images sous forme de fichiers JPG à l'aide de la méthode Image.Save (string filename, ImageFormat format). Dans ce cas, je prends comme exemple PDF vers JPG. Vous pouvez également modifier le format si vous le souhaitez.
Exemple de code
- C#
using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; using System.Drawing.Imaging; namespace PDFtoImage { class Program { static void Main(string[] args) { //Create a PdfDocument instance PdfDocument pdf = new PdfDocument(); //Load a sample PDF file pdf.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf"); //Convert the first page to an image and set the image Dpi Image image = pdf.SaveAsImage(0, PdfImageType.Bitmap, 500, 500); //Save images as JPG format to a specified folder image.Save("C:\\Users\\Administrator\\Desktop\\Image\\ToImage.jpg", ImageFormat.Jpeg); //Close the document pdf.Close(); } } }
Convertir un PDF en SVG en C#
Pas
- Créez une instance PdfDocument et chargez un fichier PDF à partir du disque à l'aide de la méthode LoadFromFile().
- Convertissez la première page en SVG à l'aide de la méthode SaveToFile(string filename, int startIndex, int endIndex, FileFormat fileFormat). Vous pouvez spécifier l'index de page que vous souhaitez convertir dans le paramètre.
Exemple de code
- C#
using Spire.Pdf; namespace PDFtoSVG { class Program { static void Main(string[] args) { //Create a PdfDocument instance PdfDocument pdf = new PdfDocument(); //Load a sample PDF file pdf.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf"); //Convert the first page to SVG pdf.SaveToFile("C:\\Users\\Administrator\\Desktop\\Image\\ToImage.svg", 0, 0, FileFormat.SVG); //Close the document pdf.Close(); } } }
Convertir un PDF en TIFF de plusieurs pages en C#
Comparé à d'autres formats d'image, TIFF permet de stocker plusieurs images ou pages dans un seul fichier. Cette fonctionnalité en fait un choix populaire parmi les utilisateurs dans certains cas.
Dans cette section, je vais vous montrer comment convertir un fichier PDF en un fichier TIFF multipage. Pour réaliser cette conversion, nous pouvons personnaliser les méthodes suivantes.- La méthode SaveAsImage() prend en charge la conversion de chaque page PDF en image, puis renvoie un tableau d'images.
- La méthode GetEncoderInfo() prend en charge la recherche et le renvoi des informations d’encodeur d’image correspondantes en fonction du type MIME donné.
- La méthode JoinTiffImages() est utilisée pour fusionner plusieurs images en un seul fichier TIFF. Il fonctionne en parcourant chaque image du tableau d'images et en l'enregistrant en fonction des paramètres d'encodeur spécifiés.
Pas
- Créez une instance PdfDocument et chargez un fichier PDF à partir du disque à l'aide de la méthode LoadFromFile().
- Appelez la méthode SaveAsImage() pour convertir chaque page du PDF en image et enregistrez-la dans le tableau d’images.
- Enfin, appelez la méthode JoinTiffImages() pour fusionner les images TIFF converties dans un fichier TIFF multipage.
Exemple de code
- C#
using System; using System.Drawing; using System.Drawing.Imaging; using Spire.Pdf; namespace SavePdfAsTiff { class Program { static void Main(string[] args) { // Create a PdfDocument instance PdfDocument pdf = new PdfDocument(); // Load the PDF file pdf.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf"); // Convert PDF pages to images and save them as an image array Image[] images = SaveAsImage(pdf); // Merge the converted TIFF images into a multi-page TIFF file JoinTiffImages(images, "C:\\Users\\Administrator\\Desktop\\Image\\ToImage.tiff", EncoderValue.CompressionLZW); } private static Image[] SaveAsImage(PdfDocument pdf) { // Create an image array with the size equal to the number of PDF pages Image[] images = new Image[pdf.Pages.Count]; //Iterate through each page of PDF for (int i = 0; i < pdf.Pages.Count; i++) { //Convert these pages to images images[i] = pdf.SaveAsImage(i); } return images; } private static ImageCodecInfo GetEncoderInfo(string mimeType) { // Get all available image encoders ImageCodecInfo[] encoders = ImageCodecInfo.GetImageEncoders(); for (int j = 0; j < encoders.Length; j++) { // Find the encoder that matches the specified mime type if (encoders[j].MimeType == mimeType) return encoders[j]; } // An exception is thrown if no matching encoder is found throw new Exception(mimeType + " mime type not found in ImageCodecInfo"); } public static void JoinTiffImages(Image[] images, string outFile, EncoderValue compressEncoder) { //Set the parameters of the image encoder Encoder enc = Encoder.SaveFlag; EncoderParameters ep = new EncoderParameters(2); ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.MultiFrame); ep.Param[1] = new EncoderParameter(Encoder.Compression, (long)compressEncoder); // Initialize the first image as the base for merging Image pages = images[0]; int frame = 0; // Get the encoder information for TIFF format ImageCodecInfo info = GetEncoderInfo("image/tiff"); // Iterate through each image foreach (Image img in images) { if (frame == 0) { // If it's the first frame, set it as the current base image pages = img; // Save the first frame using the specified encoder parameters pages.Save(outFile, info, ep); } else { // For intermediate frames, update the encoder parameter to indicate a new page ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.FrameDimensionPage); // Save the intermediate frame pages.SaveAdd(img, ep); } if (frame == images.Length - 1) { // If it's the last frame, flush the encoder parameters to close the file ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.Flush); pages.SaveAdd(ep); } frame++; } } } }
Essai gratuit de la bibliothèque C#
Spire.PDF for .NET offre une utilisation gratuite pour aider les utilisateurs à mieux évaluer les fonctionnalités du produit sans restrictions. Vous pouvez obtenir un Licence temporaire gratuite de 30 jours à partir du lien suivant pour convertir un PDF en image en C#.
Conclusion
Dans cet article, vous avez appris à convertir un PDF en formats d'image populaires à l'aide de C#. Spire.PDF for .NET peut également vous aider dans d'autres tâches de traitement PDF, telles que créer un PDF, fusionner un PDF, comparer un PDF, etc. En un mot, cette bibliothèque simplifie le processus et permet aux développeurs de se concentrer sur la création d'applications puissantes impliquant des tâches de manipulation de PDF.