public procData(ListView lv, ImageList iml, PDFLibNet.PDFWrapper doc, int page)
 {
     pdfDoc = doc;
     pageNumber = page;
     listView = lv;
     imageList = iml;
 }
示例#2
0
 public frmExportJpg(PDFLibNet.PDFWrapper doc, string fileName)
 {
     InitializeComponent();
     txtFileName.Text = fileName;
     _doc = doc;
     udTopage.Maximum = _doc.PageCount;
     udFromPage.Maximum = _doc.PageCount - 1;
     udTopage.Value = _doc.PageCount;
 }
        public void LoadImageList(PDFLibNet.PDFWrapper pdfDoc,int pageNumber)
        {
            //while (pdfDoc.IsBusy) System.Threading.Thread.Sleep(50);
            System.ComponentModel.BackgroundWorker bg = new BackgroundWorker();
            bg.DoWork += new DoWorkEventHandler(bg_DoWork);
            bg.ProgressChanged += new ProgressChangedEventHandler(bg_ProgressChanged);
            bg.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bg_RunWorkerCompleted);

            //bg.RunWorkerAsync(new procData(this,_largeImages, pdfDoc,pageNumber));
            this.AddImages(new procData(this, _largeImages, pdfDoc, pageNumber));
        }
示例#4
0
 internal static bool PrintImagesToPrinter(PDFLibNet.PDFWrapper pdfDoc)
 {
     PrintDialog pd = new PrintDialog();
     pd.AllowPrintToFile = false;
     pd.AllowSomePages = true;
     pd.PrinterSettings.FromPage = pd.PrinterSettings.MinimumPage = 1;
     pd.PrinterSettings.ToPage = pd.PrinterSettings.MaximumPage = pdfDoc.PageCount;
     if (pd.ShowDialog() == DialogResult.OK)
     {
         PrintDocument printDocument = new PrintDocument();
         printDocument.PrintController = new StandardPrintController();
         printDocument.PrinterSettings = pd.PrinterSettings;
         PrinterUtil printUtil = new PrinterUtil(printDocument, pdfDoc);
         Cursor.Current = Cursors.WaitCursor;
         printUtil.printDocument.Print();
         bool retVal = printUtil.finishedPrinting;
         printUtil = null;
         GC.Collect();
         Cursor.Current = Cursors.Default;
         return retVal;
     }
     else
         return false;
 }
示例#5
0
        private void FocusSearchResult(PDFLibNet.PDFSearchResult res)
        {
            Point loc = res.Position.Location; 
            Point dr = pageViewControl1.ScrollPosition;
            if (_pdfDoc.PageWidth > pageViewControl1.Width)
                dr.X =(int)( loc.X * _pdfDoc.RenderDPI / 72) -pageViewControl1.Width ;
            if (_pdfDoc.PageHeight > pageViewControl1.Height)
                dr.Y =(int) ( loc.Y * _pdfDoc.RenderDPI / 72) -pageViewControl1.Height;
            pageViewControl1.ScrollPosition = dr;

        }
示例#6
0
 private bool LoadFile(string filename, PDFLibNet.PDFWrapper pdfDoc)
 {
     try
     {
         if (fs != null)
         {
             fs.Close();
             fs = null;
         }
         //Does not supported by MuPDF.                
         //fs = new System.IO.FileStream(filename, System.IO.FileMode.Open);                
         //return pdfDoc.LoadPDF(fs);                
         bool bRet =  pdfDoc.LoadPDF(filename);               
         tsbUseMuPDF.Checked = pdfDoc.UseMuPDF;
         return bRet;                
     }
     catch (System.Security.SecurityException)
     {
          frmPassword frm = new frmPassword();
          if (frm.ShowDialog() == DialogResult.OK)
          {
              if (!frm.UserPassword.Equals(String.Empty))
                  pdfDoc.UserPassword = frm.UserPassword;
              if (!frm.OwnerPassword.Equals(String.Empty))
                  pdfDoc.OwnerPassword = frm.OwnerPassword;
              return LoadFile(filename, pdfDoc);
          }
          else
          {
              MessageBox.Show(Resources.UIStrings.ErrorFileEncrypted ,Text);
              return false;
          }
     }
 }
示例#7
0
 /* ----------------------------------------------------------------- */
 /// PrintBitmap
 /* ----------------------------------------------------------------- */
 private void PrintBitmap(System.Drawing.Printing.PrintDocument document, PDFLibNet.PDFWrapper core)
 {
     var settings = new { page = core.CurrentPage, zoom = core.Zoom };
     document.PrintPage += new PrintPageEventHandler(PrintDocument_PrintPage);
     core.CurrentPage = (document.PrinterSettings.PrintRange == PrintRange.AllPages) ?
         1 : document.PrinterSettings.FromPage;
     document.Print();
     core.CurrentPage = settings.page;
     core.Zoom = settings.zoom;
     core.RenderPage(IntPtr.Zero, false, false);
 }
示例#8
0
        Image RenderPage(PDFLibNet.PDFWrapper doc, int page)
        {
            doc.CurrentPage = page + 1;
            doc.CurrentX = 0;
            doc.CurrentY = 0;

            using (var box = new PictureBox())
            {
                // have to give the document a handle to render into
                doc.RenderPage(box.Handle);

                // create an image to draw the page into
                var buffer = new Bitmap(doc.PageWidth, doc.PageHeight);
                doc.ClientBounds = new Rectangle(0, 0, doc.PageWidth, doc.PageHeight);
                using (var g = Graphics.FromImage(buffer))
                {
                    var hdc = g.GetHdc();
                    try
                    {
                        doc.DrawPageHDC(hdc);
                    }
                    finally
                    {
                        g.ReleaseHdc();
                    }
                }

                return buffer;
            }
        }
示例#9
0
 /* ----------------------------------------------------------------- */
 /// Equals (private)
 /* ----------------------------------------------------------------- */
 private static bool Equals(PDFLibNet.PDFSearchResult arg0, PDFLibNet.PDFSearchResult arg1)
 {
     return (arg0.Page == arg1.Page && arg0.Position == arg1.Position);
 }
示例#10
0
        //-------------------------------------------------------------------------
        private Bitmap GetBitmapFromPDFPage(PDFLibNet.PDFWrapper pdfDoc, int pageNumber)
        {
            if (pdfDoc == null) return null;
            //try
            //{
            pdfDoc.CurrentPage = pageNumber;
            double dpi = pdfDoc.RenderDPI;
            System.Windows.Forms.PictureBox pic = new System.Windows.Forms.PictureBox();
            pic.Width = 2560 + 17;//PhysicalDimension = {Width = 2560.0 Height = 3328.0}
            //pic.Height = 3328;//PhysicalDimension = {Width = 2560.0 Height = 3312.0}
            pdfDoc.FitToWidth(pic.Handle);
            pic.Height = pdfDoc.PageHeight;
            //pictureBox1.Height = pdfDoc.PageHeight;
            pdfDoc.RenderPage(pic.Handle);
            pdfDoc.ClientBounds = new System.Drawing.Rectangle(0, 0, pdfDoc.PageWidth, pdfDoc.PageHeight);
            Bitmap backbuffer = new Bitmap(pdfDoc.PageWidth, pdfDoc.PageHeight);
            using (Graphics g = Graphics.FromImage(backbuffer))
            {//недопустимый параметр при 8 потоках
                pdfDoc.DrawPageHDC(g.GetHdc());
                g.ReleaseHdc();
            }
            pic.Dispose();
            //var entryBitmap = (Bitmap)backbuffer.Clone();
            //backbuffer.Dispose();

            return backbuffer;// entryBitmap;
            //}
            //catch (Exception)
            //{
            //    return null;
            //}
        }
示例#11
0
        private bool LoadFile(string filename, PDFLibNet.PDFWrapper pdfDoc)
        {
            try
            {
                if (fs != null)
                {
                    fs.Close();
                    fs = null;
                }
                fs = new System.IO.FileStream(filename, System.IO.FileMode.Open);
                return pdfDoc.LoadPDF(fs);

            }
            catch (System.Security.SecurityException)
            {    
                if (!_UserPassword.Equals(String.Empty))
                    pdfDoc.UserPassword =_UserPassword;
                if (!_OwnerPassword.Equals(String.Empty))
                    pdfDoc.OwnerPassword = _OwnerPassword;
                return LoadFile(filename, pdfDoc);
         
            }
        }
示例#12
-1
 private PrinterUtil(PrintDocument printDocument, PDFLibNet.PDFWrapper pdfDoc)
 {
     this.printDocument = printDocument;
     this.pdfDoc = pdfDoc;
     this.endPage = printDocument.PrinterSettings.ToPage;
     this.currentPage = printDocument.PrinterSettings.FromPage;
     printDocument.PrintPage += PrintDocument_PrintPage;
     printDocument.EndPrint += PrintDocument_EndPrint;
 }