如何将PDF文件转换为图像 [英] How to convert PDF files to images
问题描述
我需要将PDF文件转换为图像。如果PDF文件是多页,我只需要一张包含所有PDF页面的图像。
I need to convert PDF files to images. If the PDF file is multi-page,I just need one image that contains all of the PDF pages.
有开源解决方案吗?
推荐答案
线程 将PDF文件转换为JPEG图像 即可满足您的要求。
The thread "converting PDF file to a JPEG image" is suitable for your request.
一种解决方案是使用第三方库。 ImageMagick 非常受欢迎,也可以免费获得。您可以在此处为其获取.NET包装。 ImageMagick的原始下载页面是此处。
One solution is to use a third-party library. ImageMagick is a very popular and is freely available too. You can get a .NET wrapper for it here. The original ImageMagick download page is here.
- 将PDF页面转换为图像使用Solid Framework的文件 使用Solid Framework将PDF页面转换为图像文件(无效链接,已删除的文档位于 Internet存档) 。
- 将PDF转换为JPG 通用文档转换器
- 将PDF转换为JPG图像的6种方法
- Convert PDF pages to image files using the Solid Framework Convert PDF pages to image files using the Solid Framework (dead link, the deleted document is available on Internet Archive).
- Convert PDF to JPG Universal Document Converter
- 6 Ways to Convert a PDF to a JPG Image
,您还可以查看线程
如何从一个页面打开页面C# 中pictureBox中的pdf文件。
And you also can take a look at the thread "How to open a page from a pdf file in pictureBox in C#".
如果使用此过程进行了转换PDF到tiff ,您可以使用此类从 TIFF 检索位图。
If you use this process to convert a PDF to tiff, you can use this class to retrieve the bitmap from TIFF.
public class TiffImage
{
private string myPath;
private Guid myGuid;
private FrameDimension myDimension;
public ArrayList myImages = new ArrayList();
private int myPageCount;
private Bitmap myBMP;
public TiffImage(string path)
{
MemoryStream ms;
Image myImage;
myPath = path;
FileStream fs = new FileStream(myPath, FileMode.Open);
myImage = Image.FromStream(fs);
myGuid = myImage.FrameDimensionsList[0];
myDimension = new FrameDimension(myGuid);
myPageCount = myImage.GetFrameCount(myDimension);
for (int i = 0; i < myPageCount; i++)
{
ms = new MemoryStream();
myImage.SelectActiveFrame(myDimension, i);
myImage.Save(ms, ImageFormat.Bmp);
myBMP = new Bitmap(ms);
myImages.Add(myBMP);
ms.Close();
}
fs.Close();
}
}
像这样使用它:
private void button1_Click(object sender, EventArgs e)
{
TiffImage myTiff = new TiffImage("D:\\Some.tif");
//imageBox is a PictureBox control, and the [] operators pass back
//the Bitmap stored at that position in the myImages ArrayList in the TiffImage
this.pictureBox1.Image = (Bitmap)myTiff.myImages[0];
this.pictureBox2.Image = (Bitmap)myTiff.myImages[1];
this.pictureBox3.Image = (Bitmap)myTiff.myImages[2];
}
这篇关于如何将PDF文件转换为图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!