我正在使用PDFLibNet来保存PDF页面的拇指。 PictureBox工作正常并显示图像,但它保存为绝对白色(空白)图像!
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 :(得分:3)
您可以查看 _pdfDoc.IsJpgBusy 属性。主线程处理缩略图
while (_pdfDoc.IsJpgBusy)
{
Thread.Sleep(50);
}
答案 1 :(得分: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));