2012-05-24 3 views
1

PDF 페이지의 엄지 손가락을 저장하기 위해 PDFLibNet을 사용하고 있습니다. 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); 
} 
관련 문제