Índice
Instalado via NuGet
PM> Install-Package Spire.PDF
Links Relacionados
Os arquivos PDF são amplamente utilizados no trabalho diário devido ao seu layout estável, fácil transferência e alta legibilidade. Em alguns casos, pode ser necessário converter PDF em imagens. Salvar conteúdo como imagens não apenas acelera o carregamento, mas também reduz o risco de edição acidental. Além disso, se você deseja incorporar arquivos ou páginas PDF em outros documentos ou páginas da web, convertê-los em formatos de imagem específicos é uma excelente escolha. Esta passagem cobre os detalhes de usando C# para converter PDF em imagem. E você pode facilmente converter PDF para os formatos de imagem desejados com código C#, preservando a fidelidade visual do conteúdo original.
- Biblioteca C# para conversão de PDF
- Classificação de formatos de imagem
- Converter PDF em PNG/JPG/BMP/EMF/TIFF em C#
- Converter PDF em SVG em C#
- Converter PDF em TIFF de várias páginas em C#
Biblioteca C# para conversão de PDF
Este artigo demonstra como converter PDF em imagem usando Spire.PDF for .NET, que é uma biblioteca confiável de processamento de PDF que permite manipular e converter arquivos PDF em aplicativos .NET. Com ele, você ainda pode ajustar as propriedades da imagem, como tamanho e pixels, durante a conversão de PDF para imagem.
Além da imagem, esta biblioteca também permite converter PDF para Word, PDF para HTML, PDF para XPS e assim por diante.
Você também pode download e faça referência ao arquivo DLL manualmente ou instale-o via NuGet usando o seguinte comando:
PM> Install-Package Spire.PDF
Classificação de formatos de imagem
Na computação gráfica, as imagens podem ser classificadas em duas categorias principais:
- Imagens bitmap são compostos por uma grade de pixels individuais, onde cada pixel recebe uma cor específica. Os formatos de imagem bitmap comuns incluem PNG, JPG, BMP, EMF e TIFF.
- Gráficos vetoriais, por outro lado, representam imagens usando equações matemáticas e formas geométricas como linhas, curvas e polígonos. Formatos gráficos vetoriais comuns incluem SVG e EPS.
Atualmente, o Spire.PDF for .NET suporta os formatos PNG/JPG/BMP/EMF/TIFF/SVG. A seguir, darei os detalhes de cada conversão.
Converter PDF em PNG/JPG/BMP/EMF/TIFF em C#
Passos
- Crie uma instância de PdfDocument e carregue um arquivo PDF do disco usando o método LoadFromFile().
- Chame o método SaveAsImage(int pageIndex, PdfImageType type, int dpiX, int dpiY) para converter a página especificada em uma imagem.
- Por fim, salve as imagens como arquivos JPG usando o método Image.Save(string filename, ImageFormat format). Nesse caso, tomo PDF para JPG como exemplo. Você também pode alterar o formato, se desejar.
Código de amostra
- 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(); } } }
Converter PDF em SVG em C#
Passos
- Crie uma instância de PdfDocument e carregue um arquivo PDF do disco usando o método LoadFromFile().
- Converta a primeira página em SVG usando o método SaveToFile(string filename, int startIndex, int endIndex, FileFormat fileFormat). Você pode especificar o índice da página que deseja converter no parâmetro.
Código de amostra
- 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(); } } }
Converter PDF em TIFF de várias páginas em C#
Comparado com outros formatos de imagem, o TIFF permite que várias imagens ou páginas sejam armazenadas em um único arquivo. Esse recurso o torna uma escolha popular entre os usuários em alguns casos.
Nesta seção, mostrarei como converter um arquivo PDF em um arquivo TIFF de várias páginas. Para conseguir essa conversão, podemos personalizar os seguintes métodos.- O método SaveAsImage() suporta a conversão de cada página PDF em uma imagem e, em seguida, retorna uma matriz de imagens.
- O método GetEncoderInfo() suporta localizar e retornar informações correspondentes do codificador de imagem com base no tipo MIME fornecido.
- O método JoinTiffImages() é usado para mesclar várias imagens em um único arquivo TIFF. Ele funciona percorrendo cada imagem na matriz de imagens e salvando-a de acordo com os parâmetros especificados do codificador.
Passos
- Crie uma instância de PdfDocument e carregue um arquivo PDF do disco usando o método LoadFromFile().
- Chame o método SaveAsImage() para converter cada página do PDF em uma imagem e salvá-la no array de imagens.
- Por fim, chame o método JoinTiffImages() para mesclar as imagens TIFF convertidas em um arquivo TIFF de várias páginas.
Código de amostra
- 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++; } } } }
Avaliação gratuita da biblioteca C#
Spire.PDF for .NET oferece uso gratuito para ajudar os usuários a avaliar melhor os recursos do produto sem restrições. Você pode obter um Licença temporária gratuita de 30 dias no link a seguir para converter PDF em imagem em C#.
Conclusão
Nesta postagem, você aprendeu como converter PDF em formatos de imagem populares usando C#. Spire.PDF for .NET também pode ajudá-lo com outras tarefas de processamento de PDF, como criando PDF, mesclando PDF, comparando PDF e assim por diante. Em uma palavra, esta biblioteca simplifica o processo e permite que os desenvolvedores se concentrem na construção de aplicativos poderosos que envolvem tarefas de manipulação de PDF.