http://itext.ugent.be/library/question.php?id=54

Paulo

----- Original Message ----- 
From: "Meng, Jun" <[EMAIL PROTECTED]>
To: <itext-questions@lists.sourceforge.net>
Sent: Monday, October 30, 2006 6:39 PM
Subject: [iText-questions] Text paragraph font size is changed


Hello,



Thanks for the great library for generating PDF! :-)



I have a question about iTextSharp library: After some data are bound to
text fields, the paragraph font size is slightly changed. I don't know
why?



The attached screenshot shows a sample (Left side is PDF template, right
side is the generated PDF file). You can see "Sincerely" is not in the
same horizontal line. The attached "SampleJS.pdf" is the PDF template.



The main C# web site code is like below:

------------------------------------------------------------------------
-----------------------------

        protected void BtnGetPDF_Click(object sender, EventArgs e)

        {

                // Get PDF stream

                MemoryStream m = new MemoryStream();

                CreatePDFStream(m);



                // Get stream bytes

                byte[] buffer = m.GetBuffer();



                // Save a copy to file for debug purpose only

                FileStream fs = new
FileStream(Server.MapPath("testPDF.pdf"), FileMode.Create);

                fs.Write(buffer, 0, buffer.Length);

                fs.Close();



                // Write pdf bytes to outputstream

                Response.Clear();

                Response.ContentType = "application/pdf";

                Response.AddHeader("Accept-Header",
buffer.Length.ToString());

                Response.AddHeader("Content-Length",
buffer.Length.ToString());

                Response.OutputStream.Write(buffer, 0, buffer.Length);

                Response.Flush();

                Response.End();

        }



        /// <summary>

        /// Create PDF stream

        /// </summary>

        private void CreatePDFStream(Stream m)

        {

            iTextSharp.text.pdf.PdfReader pdfRd = new
iTextSharp.text.pdf.PdfReader(Server.MapPath("~/SampleJS.pdf"));

            iTextSharp.text.pdf.PdfStamper stamp = new
iTextSharp.text.pdf.PdfStamper(pdfRd, m);



            // Set form fields

            // NOTE: It is supposed to get data from database

            iTextSharp.text.pdf.AcroFields fields = stamp.AcroFields;



            string formText = fields.GetField("formText");

            formText = formText.Replace("<Institution>",
txtInstitution.Text);

            formText = formText.Replace("<AppID>", txtAppID.Text);

            formText = formText.Replace("<CurrentDate>",
DateTime.Now.ToString());

            formText = formText.Replace("<Name>", "John Nolan");

            formText = formText.Replace("<AddressStreet>", "123 test
street");

            formText = formText.Replace("<AddressCity>", "Frederick");

            formText = formText.Replace("<AddressState>", "MD");

            formText = formText.Replace("<AddressZip>", "20120");

            formText = formText.Replace("<FirstName>", "John");

            formText = formText.Replace("<LoanType>", txtLoanType.Text);

            formText = formText.Replace("<PartnerURL>",
txtPartnerURL.Text);



            fields.SetField("formText", formText);



            // Get content to make changes

            PdfContentByte overContent = stamp.GetOverContent(1);



            // Add logo image

            iTextSharp.text.Image logo =
iTextSharp.text.Image.GetInstance(Server.MapPath("~/logo.jpg"));

            float[] logoArea = fields.GetFieldPositions("Logo");

            iTextSharp.text.Rectangle logoRect = new
Rectangle(logoArea[1], logoArea[2], logoArea[3], logoArea[4]);

            // right alignment

            logo.ScaleToFit(logoRect.Width, logoRect.Height);

            logo.SetAbsolutePosition(logoArea[3] - logo.ScaledWidth +
(logoRect.Width - logo.ScaledWidth) / 2,

                    logoArea[2] + (logoRect.Height - logo.ScaledHeight)
/ 2);

            overContent.AddImage(logo);



            // Add Signature

            iTextSharp.text.Image signature =
iTextSharp.text.Image.GetInstance(Server.MapPath("~/signature.jpg"));

            float[] signArea = fields.GetFieldPositions("Signature");

            iTextSharp.text.Rectangle signRect = new
Rectangle(signArea[1], signArea[2], signArea[3], signArea[4]);

            signature.ScaleToFit(signRect.Width, signRect.Height);

            signature.SetAbsolutePosition(signArea[1] + (signRect.Width
- signature.ScaledWidth) / 2,

                    signArea[2] + (signRect.Height -
signature.ScaledHeight) / 2);

            overContent.AddImage(signature);



            // Add barcode

            Barcode39 code39 = new Barcode39();

            code39.Code = txtAppID.Text;

            code39.StartStopText = false;

            iTextSharp.text.Image image39 =
code39.CreateImageWithBarcode(overContent, null, null);

            float[] barcodeArea =
fields.GetFieldPositions("AppIDBarCode");

            iTextSharp.text.Rectangle rect = new
Rectangle(barcodeArea[1], barcodeArea[2], barcodeArea[3],
barcodeArea[4]);

            image39.ScaleToFit(rect.Width, rect.Height);

            image39.SetAbsolutePosition(barcodeArea[1] + (rect.Width -
image39.ScaledWidth) / 2,

                    barcodeArea[2] + (rect.Height -
image39.ScaledHeight) / 2);

            overContent.AddImage(image39);



            stamp.FormFlattening = false;

            stamp.FreeTextFlattening = true;



            stamp.Close();

        }

------------------------------------------------------------------------
-----------------------------



If you could figure out where the problem is, that would be greatly
appreciated.



Jun Meng




--------------------------------------------------------------------------------


> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job 
> easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642


--------------------------------------------------------------------------------


> _______________________________________________
> iText-questions mailing list
> iText-questions@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/itext-questions
> 


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
iText-questions mailing list
iText-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions

Reply via email to