簡體   English   中英

使用c#在windows應用程序中截取pdf中選定區域的屏幕截圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM