2012-05-24 131 views
1

我正在使用PDFLibNet保存PDF頁面的大拇指。 PictureBox工作正常並顯示圖像,但它被保存爲絕對白色(空白)圖像!使用PDFLibNet保存PDF頁面圖像

PDFWrapper _pdfDoc = new PDFWrapper(); 
_pdfDoc.LoadPDF("d:\\bb.pdf"); 

PDFPage page = _pdfDoc.Pages[1]; 

Bitmap b = (Bitmap)page.LoadThumbnail(Convert.ToInt32(width), Convert.ToInt32(height)); 

pictureBox1.Image = b; 

b.Save("D:\\a.jpg"); 

回答

0

您需要在某個時候給PDFLibNet來完成位圖的渲染。庫使用單獨的線程呈現縮略圖,並在完成後觸發RenderThumbnailFinished事件。

RenderNotifyFinishedHandler handler = (s, e) => pictureBox1.Image.Save("D:\\a.jpg"); 
PDFWrapper _pdfDoc = new PDFWrapper(); 
_pdfDoc.LoadPDF("d:\\bb.pdf"); 

PDFPage page = _pdfDoc.Pages[1]; 
page.RenderThumbnailFinished += handler; 

pictureBox1.Image = (Bitmap)page.LoadThumbnail(Convert.ToInt32(width), Convert.ToInt32(height)); 
3

您可以檢查_pdfDoc.IsJpgBusy財產。雖然主線程處理縮略圖

while (_pdfDoc.IsJpgBusy) 
{ 
    Thread.Sleep(50); 
}