[英]Take screenshot of selected area in pdf in windows application using c#
我正在 .Net 中開發一個 Windows 應用程序,我想在其中從我的計算機中選擇一個 pdf 並在表單中顯示它。 用戶可以在應用程序中選擇此 pdf 的某些部分,然后將生成所選區域的圖像。
我不知道如何做到這一點。
如何閱讀和顯示 pdf 並截取其內容?
我曾嘗試使用 com 組件 Acrobat Reader 閱讀 pdf,但它不允許我使用鼠標捕獲選定區域。
最簡單的方法是將 pdf 轉換為位圖(如果 pdf 是多頁的,則為一系列位圖)然后顯示它。 當用戶選擇某個區域時 - 只需剪切位圖並保存到文件中。
您可以找到許多如何將 pdf 轉換為位圖的示例:
還有很多
編輯:
這篇文章似乎非常接近您的問題: http : //www.codeproject.com/Articles/37637/View-PDF-files-in-C-using-the-Xpdf-and-muPDF-libra
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Portable Document Format (*.pdf)|*.pdf";
if (dlg.ShowDialog() == DialogResult.OK)
{
_pdfDoc = new PDFLibNet.PDFWrapper();
_pdfDoc.LoadPDF(dlg.FileName);
_pdfDoc.CurrentPage = 1;
PictureBox pic =new PictureBox();
pic.Width=800;
pic.Height=1024;
_pdfDoc.FitToWidth(pic.Handle);
pic.Height = _pdfDoc.PageHeight;
_pdfDoc.RenderPage(pic.Handle);
Bitmap _backbuffer = new Bitmap(_pdfDoc.PageWidth, _pdfDoc.PageHeight);
using (Graphics g = Graphics.FromImage(_backbuffer))
{
_pdfDoc.RenderHDC(g.GetHdc);
g.ReleaseHdc();
}
pic.Image = _backbuffer;
}
繪制位圖后,您可以在其上繪制(即選擇范圍),根據需要剪切並保存到文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.