public virtual void manipulatePdf(string src, string dest) { PdfReader reader = new PdfReader(src); PdfStamper stamper = new PdfStamper(reader, new System.IO.FileStream(dest, System.IO.FileMode.Create, System.IO.FileAccess.Write)); stamper.RotateContents = false; Phrase header = new Phrase("Copy", new Font(Font.FontFamily.HELVETICA, 14)); for (int i = 1; i <= reader.NumberOfPages; i++) { float x = reader.GetPageSize(i).Width / 2; float y = reader.GetPageSize(i).GetTop(20); ColumnText.ShowTextAligned(stamper.GetOverContent(i), Element.ALIGN_CENTER, header, x, y, 0); } stamper.Close(); reader.Close(); }
private void b_pdf2jpg_Click(object sender, EventArgs e) { try { if (listBox1.SelectedIndex != -1 & comboBox1.Text == "*.pdf") { foreach (var item in listBox1.SelectedItems) { Convert.ToString(item); string sourcePdf = Convert.ToString(item); string thename = Path.GetFileNameWithoutExtension(sourcePdf); raf = new iTextSharp.text.pdf.RandomAccessFileOrArray(sourcePdf); reader = new iTextSharp.text.pdf.PdfReader(raf, null); var page = reader.GetPageSize(1); int heigt = Convert.ToInt16(page.Height); int width = Convert.ToInt16(page.Width); //uzycie wprapera z Nuget //GhostscriptWrapper.GeneratePageThumb(@sourcePdf, @sourcePdf.Replace("pdf", "jpg"), 1, width, heigt); //GhostscriptWrapper.GeneratePageThumb(sourcePdf, sourcePdf.Replace("pdf", "jpg"), 1, 297, 210); GhostscriptJpegDevice dev = new GhostscriptJpegDevice(GhostscriptJpegDeviceType.Jpeg); dev.GraphicsAlphaBits = GhostscriptImageDeviceAlphaBits.V_4; dev.TextAlphaBits = GhostscriptImageDeviceAlphaBits.V_4; dev.ResolutionXY = new GhostscriptImageDeviceResolution(300, 300); dev.JpegQuality = 100; dev.InputFiles.Add(@sourcePdf); dev.Pdf.FirstPage = 1; dev.Pdf.LastPage = 1; dev.OutputPath = @sourcePdf.Replace("pdf", "jpg"); dev.Process(); } System.Media.SystemSounds.Beep.Play(); MessageBox.Show("koniec"); } else { System.Media.SystemSounds.Beep.Play(); MessageBox.Show("Wskaż pliki pdf na liście"); } } catch { } }
internal static byte[] InsertImageIntoPDF(byte[] file, Image QrImage, Image FontImage, int QPositionX = 30, int QPositionY = 675, int QWidth = 100, int QHeight = 100, int FPositionX = 450, int FPositionY = 50, int FWidth = 130, int FHeight = 15) { try { var pdfReader = new iTextSharp.text.pdf.PdfReader(file); using (var ms = new MemoryStream()) { using (var stamp = new iTextSharp.text.pdf.PdfStamper(pdfReader, ms)) { var size = pdfReader.GetPageSize(1); var page = pdfReader.NumberOfPages; #region QrCode System.Drawing.Imaging.ImageFormat QrImgformat = FormatImage(QrImage); var pdfQrImage = iTextSharp.text.Image.GetInstance(QrImage, QrImgformat); pdfQrImage.Alignment = iTextSharp.text.Element.ALIGN_CENTER; pdfQrImage.SetAbsolutePosition(QPositionX, QPositionY); pdfQrImage.ScaleToFit(QWidth, QHeight); stamp.GetOverContent(page).AddImage(pdfQrImage); #endregion #region Font System.Drawing.Imaging.ImageFormat fontImageFormat = FormatImage(FontImage); var pdfFontImage = iTextSharp.text.Image.GetInstance(FontImage, fontImageFormat); pdfFontImage.Alignment = iTextSharp.text.Element.ALIGN_CENTER; pdfFontImage.SetAbsolutePosition(FPositionX, FPositionY); pdfFontImage.ScaleToFit(FWidth, FHeight); stamp.GetOverContent(page).AddImage(pdfFontImage); #endregion } ms.Flush(); ms.GetBuffer(); return(ms.ToArray()); } } catch (Exception) { throw; } }