Оглавление
Установлено через NuGet
PM> Install-Package Spire.PDF
Ссылки по теме
PDF-файлы широко используются в повседневной работе благодаря их стабильному формату, легкости переноса и высокой читаемости. В некоторых случаях вам может потребоваться конвертировать PDF в изображения. Сохранение контента в виде изображений не только ускоряет загрузку, но и снижает риск случайного редактирования. Кроме того, если вы хотите встроить PDF-файлы или страницы в другие документы или веб-страницы, отличным выбором будет их преобразование в указанные форматы изображений. В этом отрывке раскрываются подробности использование C# для преобразования PDF в изображение. И вы можете легко конвертировать PDF в нужные форматы изображений с помощью кода C#, сохраняя при этом визуальную точность исходного содержимого.
- Библиотека C# для преобразования PDF
- Классификация форматов изображений
- Конвертируйте PDF в PNG/JPG/BMP/EMF/TIFF на C#
- Преобразование PDF в SVG на C#
- Преобразование PDF в многостраничный TIFF на C#
Библиотека C# для преобразования PDF
В этой статье показано, как преобразовать PDF в изображение с помощью Spire.PDF for .NET — надежной библиотеки обработки PDF, позволяющей манипулировать PDF-файлами и преобразовывать их в приложениях .NET. С его помощью вы даже можете настроить свойства изображения, такие как его размер и количество пикселей, во время преобразования из PDF в изображение.
Помимо изображений, эта библиотека также позволяет конвертировать PDF в Word, PDF в HTML, PDF в XPS и так далее.
Вы также можете скачать его и создайте ссылку на файл DLL вручную или установите его через NuGet, используя следующую команду:
PM> Install-Package Spire.PDF
Классификация форматов изображений
В компьютерной графике изображения можно разделить на две основные категории:
- Растровые изображения состоят из сетки отдельных пикселей, где каждому пикселю присвоен определенный цвет. Распространенные форматы растровых изображений включают PNG, JPG, BMP, EMF и TIFF.
- С другой стороны, векторная графика представляет изображения с помощью математических уравнений и геометрических фигур, таких как линии, кривые и многоугольники. Распространенные форматы векторной графики включить SVG и EPS.
В настоящее время Spire.PDF for .NET поддерживает форматы PNG/JPG/BMP/EMF/TIFF/SVG. Далее я расскажу вам подробности каждого преобразования.
Конвертируйте PDF в PNG/JPG/BMP/EMF/TIFF на C#
Шаги
- Создайте экземпляр PdfDocument и загрузите PDF-файл с диска с помощью метода LoadFromFile().
- Вызовите метод SaveAsImage(int pageIndex, PdfImageType type, int dpiX, int dpiY), чтобы преобразовать указанную страницу в изображение.
- Наконец, сохраните изображения в виде файлов JPG, используя метод Image.Save(строковое имя файла, формат ImageFormat). В данном случае в качестве примера я беру PDF в JPG. Вы также можете изменить формат, если хотите.
Образец кода
- 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(); } } }
Преобразование PDF в SVG на C#
Шаги
- Создайте экземпляр PdfDocument и загрузите PDF-файл с диска с помощью метода LoadFromFile().
- Преобразуйте первую страницу в SVG с помощью метода SaveToFile(string filename, int startIndex, int endIndex, FileFormat fileFormat). В параметре вы можете указать индекс страницы, который хотите преобразовать.
Образец кода
- 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(); } } }
Преобразование PDF в многостраничный TIFF на C#
По сравнению с другими форматами изображений, TIFF позволяет хранить несколько изображений или страниц в одном файле. Эта функция в некоторых случаях делает его популярным выбором среди пользователей.
В этом разделе я покажу вам, как преобразовать файл PDF в многостраничный файл TIFF. Чтобы добиться этого преобразования, мы можем настроить следующие методы.- Метод SaveAsImage() поддерживает преобразование каждой страницы PDF в изображение, а затем возвращает массив изображений.
- Метод GetEncoderInfo() поддерживает поиск и возврат соответствующей информации кодировщика изображения на основе заданного типа MIME.
- Метод JoinTiffImages() используется для объединения нескольких изображений в один файл TIFF. Он работает, перебирая каждое изображение в массиве изображений и сохраняя его в соответствии с указанными параметрами кодировщика.
Шаги
- Создайте экземпляр PdfDocument и загрузите PDF-файл с диска с помощью метода LoadFromFile().
- Вызовите метод SaveAsImage(), чтобы преобразовать каждую страницу PDF-файла в изображение и сохранить его в массиве изображений.
- Наконец, вызовите метод JoinTiffImages(), чтобы объединить преобразованные изображения TIFF в многостраничный файл TIFF.
Образец кода
- 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++; } } } }
Бесплатная пробная версия библиотеки C#
Spire.PDF for .NET предоставляется бесплатно, чтобы помочь пользователям лучше оценить функции продукта без ограничений. Вы можете получить Бесплатная 30-дневная временная лицензия по следующей ссылке, чтобы преобразовать PDF в изображение на C#.
Заключение
В этом посте вы узнали, как конвертировать PDF в популярные форматы изображений с помощью C#. Spire.PDF for .NET также может помочь вам в решении других задач по обработке PDF-файлов, например создание PDF, объединение PDF, сравнение PDF и т. д. Одним словом, эта библиотека упрощает процесс и позволяет разработчикам сосредоточиться на создании мощных приложений, выполняющих задачи по манипулированию PDF-файлами.