Оглавление
Установлено через 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-файлами.