PDF到bmp图像(12页= 12张图片)

我必须逐页解构/提取pdf到位图图像 。 这将通过我设置的Web服务在服务器上完成。 我怎么做到这一点? 它必须是逐页的(每个图像1页)。 我真的被卡住了,我知道你们中的一个天才有我一直在寻找的答案。

我试过: http : //www.pdfsharp.net/wiki/ExportImages-sample.ashx哪个无法正常工作。

我正在使用C#; PDF不受密码保护; 如果这个解决方案可以将Uri作为PDF位置的参数,那就太棒了!

解决方案根本不应该依赖于Acrobat PDF Reader

我一直在努力尝试使用MigraDoc和PDFSharp及其替代方案来解决上述问题。

任何帮助/建议/代码将不胜感激!!

提前致谢!

LibPdf

此库将转换PDF文件转换为图像。 支持的图像格式是PNG和BMP,但您可以轻松添加更多。

用法示例:

using (FileStream file = File.OpenRead(@"..\path\to\pdf\file.pdf")) // in file { var bytes = new byte[file.Length]; file.Read(bytes, 0, bytes.Length); using (var pdf = new LibPdf(bytes)) { byte[] pngBytes = pdf.GetImage(0,ImageType.BMP); // image type using (var outFile = File.Create(@"..\path\to\pdf\file.bmp")) // out file { outFile.Write(pngBytes, 0, pngBytes.Length); } } } 

或者Bytescout PDF Renderer SDK

 using System; using Bytescout.PDFRenderer; namespace PDF2BMP { class Program { static void Main(string[] args) { // Create an instance of Bytescout.PDFRenderer.RasterRenderer object and register it. RasterRenderer renderer = new RasterRenderer(); renderer.RegistrationName = "demo"; renderer.RegistrationKey = "demo"; // Load PDF document. renderer.LoadDocumentFromFile("multipage.pdf"); for (int i = 0; i < renderer.GetPageCount(); i++) { // Render first page of the document to BMP image file. renderer.RenderPageToFile(i, RasterOutputFormat.BMP, "image" + i + ".bmp"); } // Open the first output file in default image viewer. System.Diagnostics.Process.Start("image0.bmp"); } } }