使用c#和itextSharp将图像附加到pdf

时间:2014-03-11 10:50:00

标签: c# pdf

我是c#编程的新手,我正在做一个可以捕获屏幕并将其附加到pdf的项目,在我的项目中,我需要将我的桌面或应用程序的屏幕截图直接附加到PDF文件,我知道如何将已保存的图像附加到硬盘驱动器,在这种情况下我使用了iTextsharp库。我需要知道的是有一种方法可以将图像直接附加到PDF而无需将图像保存到硬盘。到现在为止我可以捕获我的屏幕并将其保存到硬盘中。请指导我一条路径,Thanx In Advance,我使用的代码是下面的

这是我用来捕捉屏幕的代码

string pHotoTime = DateTime.Now.ToString("yyyy-MM-dd, HH mm ss");
        Size s = Screen.PrimaryScreen.Bounds.Size;
        Bitmap bmp = new Bitmap(s.Width, s.Height);
        Graphics g = Graphics.FromImage(bmp);
        g.CopyFromScreen(0, 0, 0, 90, s);


        System.IO.Stream stream = new System.IO.MemoryStream();
        bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
        stream.Position = 0;
        // later:

        //bmp.Save(@"C:\Users\NiyNLK\Documents\TESTs\" + pHotoTime + ".jpg");
        bmp.Save(@"C:\Users\NiyNLK\Documents\TESTs\MyImage.jpg");
        pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
        pictureBox1.Image = bmp;

下面的代码用于附加图像     在这里输入代码

        iTextSharp.text.Rectangle r = new iTextSharp.text.Rectangle(400, 400);
        var doc = new Document(r);
        string path = @"c:\users\niynlk\documents\tests";
        string Imagepath = @"C:\Users\NiyNLK\Documents\TESTs";
        try
        {
            PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(path + "/Images.pdf", FileMode.Create));
            doc.Open();
            doc.Add(new Paragraph("Image"));
            Image img = Image.GetInstance(Imagepath + "/MyImage.jpg");
            img.ScalePercent(25f);
            doc.Add(img);
        }
        catch (Exception)
        {

            throw;
        }
        finally
        {
            doc.Close();
        }

0 个答案:

没有答案