public procData(ListView lv, ImageList iml, PDFLibNet.PDFWrapper doc, int page) { pdfDoc = doc; pageNumber = page; listView = lv; imageList = iml; }
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)); }
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; }
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; }
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; } } }
/* ----------------------------------------------------------------- */ /// 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); }
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; } }
/* ----------------------------------------------------------------- */ /// Equals (private) /* ----------------------------------------------------------------- */ private static bool Equals(PDFLibNet.PDFSearchResult arg0, PDFLibNet.PDFSearchResult arg1) { return (arg0.Page == arg1.Page && arg0.Position == arg1.Position); }
//------------------------------------------------------------------------- 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; //} }
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); } }
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; }