private void button4_Click(object sender, System.EventArgs e) { // step 1: create the C1PdfDocument object C1.C1Pdf.C1PdfDocument pdf = new C1.C1Pdf.C1PdfDocument(); // step 2: add content to the page Font font = new Font("Arial", 12); RectangleF rc = pdf.PageRectangle; rc.Inflate(-72, -72); // stretch image to fill the rectangle pdf.DrawImage(pictureBox1.Image, rc); // center image within the rectangle, scale keeping aspect ratio pdf.DrawImage(pictureBox1.Image, rc, ContentAlignment.MiddleCenter, C1.C1Pdf.ImageSizeModeEnum.Scale); // center image within the rectangle, keep original size pdf.DrawImage(pictureBox1.Image, rc, ContentAlignment.TopLeft, C1.C1Pdf.ImageSizeModeEnum.Clip); // step 3: save the document to a file string fileName = tempdir + "hello world.pdf"; pdf.Save(fileName); System.Diagnostics.Process.Start(fileName); }
private void button12_Click(object sender, System.EventArgs e) { C1.C1Pdf.C1PdfDocument pdf = new C1.C1Pdf.C1PdfDocument(); Image img = pictureBox3.Image; // stretch image to fill the rectangle Rectangle rc = new Rectangle(100, 100, 50, 30); pdf.DrawImage(img, rc); pdf.DrawRectangle(Pens.Black, rc); // render in actual size, clipping if necessary rc.Offset(rc.Width + 20, 0); pdf.DrawImage(img, rc, ContentAlignment.MiddleLeft, ImageSizeModeEnum.Clip); pdf.DrawRectangle(Pens.Black, rc); // scale the image to fit the rectangle while preserving the aspect ratio rc.Offset(rc.Width + 20, 0); pdf.DrawImage(img, rc, ContentAlignment.MiddleLeft, ImageSizeModeEnum.Scale); pdf.DrawRectangle(Pens.Black, rc); // step 3: save the document to a file string fileName = tempdir + "images.pdf"; pdf.Save(fileName); System.Diagnostics.Process.Start(fileName); }
private void CreatePdf(Image img) { // export to pdf _pdf.Clear(); RectangleF rc = _pdf.PageRectangle; rc.Inflate(-72, -72); // << 1" margin _pdf.DrawImage(img, rc, ContentAlignment.MiddleCenter, ImageSizeModeEnum.Scale); string fileName = Application.StartupPath + @"\pie.pdf"; _pdf.Save(fileName); // show pdf System.Diagnostics.Process.Start(fileName); }
private void DrawPageImage(C1.C1Pdf.C1PdfDocument pdf, int index) { // get image bounds RectangleF rcBounds = pdf.PageRectangle; rcBounds.Inflate(-72, -72); // calculate zoom factor if (index == 0) { // get size of largest image SizeF szMax = Size.Empty; foreach (Image page in _images) { szMax.Height = Math.Max(szMax.Height, page.Height); szMax.Width = Math.Max(szMax.Width, page.Width); } // get size of page bounds SizeF szPage = rcBounds.Size; // calculate zoom so largest image doesn't overflow the page _zoom = 1; float zh = szPage.Width / szMax.Width; float zv = szPage.Height / szMax.Height; if (zh < 1 || zv < 1) { _zoom = Math.Min(zh, zv); } } // draw grid image var rc = rcBounds; Image img = _images[index] as Image; rc.Width = (int)(img.Width * _zoom); rc.Height = (int)(img.Height * _zoom); if (index > 0) { pdf.NewPage(); } pdf.DrawImage(img, rc); }