2017-04-10 144 views
-3

我正在尋找免費/開放源碼庫,可以將PDF文件轉換爲一系列JPEG圖像。將PDF轉換爲圖像序列C#

我以前使用Apache PDF Box在Java中完成了這一工作,所以我正在尋找類似的ASP NET項目。

到目前爲止,我已經找到了庫有侷限性,我沒能一起工作:

  • Ghostscript的 - 需要安裝單獨的應用程序的服務器上
  • PDFSharp - 從PDF中提取圖像,嚴重依賴在PDF組成,沒有一些文件的工作
  • iTextSharp的 - 顯然不能PDF頁面轉換爲JPEG,類似的問題,因爲PDFSharp

任何顧對於一個工作的庫,使我能夠將PDF轉換爲一系列的圖像與一個工作的例子會很棒。

同時我會繼續挖掘,如果有東西彈出,我會添加爲答案。

+0

您可以嘗試使用PdfiumViewer執行此任務。 https://github.com/pvginkel/PdfiumViewer –

+0

@UladzimirPalekh謝謝。我不知道爲什麼有人將這個問題投票爲合法的查詢。 – Aeseir

回答

1

此代碼適用於我。它使用PdfiumViewer庫。

private static Image GetPageImage(int pageNumber, Size size, PdfiumViewer.PdfDocument document, int dpi) 
{ 
    return document.Render(pageNumber - 1, size.Width, size.Height, dpi, dpi, PdfRenderFlags.Annotations); 
} 

private void RenderPage(string pdfPath, int pageNumber, Size size, string outputPath) 
{ 
    using (var document = PdfiumViewer.PdfDocument.Load(pdfPath)) 
    using (var stream = new FileStream(outputPath, FileMode.Create)) 
    using (var image = GetPageImage(pageNumber, size, document, 150)) 
    { 
     image.Save(stream, ImageFormat.Jpeg); 
    } 
} 
+0

感謝你們,我正努力讓它現在能夠正常工作,你有這樣的例子要求你建議要渲染什麼頁面,你有什麼可以統計頁面數量並迭代它們嗎? – Aeseir

+0

您是否試圖檢查'''PdfiumViewer.PdfDocument'''中有哪些屬性可用?有'''PdfDocument.PageCount'''。 –

+0

現在看那個。無論如何無法正常工作,需要構建PDFium庫及其隨機芯片。將繼續尋找選擇。謝謝 – Aeseir