示例#1
0
        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();
        }
示例#2
0
        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
            {
            }
        }
示例#3
0
        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;
            }
        }