Open() public method

public Open ( ) : void
return void
        public void CreatePages(Models.Document documentTemplate, string outputFile)
        {
            _itextDocument  = new iTextSharp.text.Document();
            _itextPDFWriter = iTextSharp.text.pdf.PdfWriter.GetInstance(_itextDocument,
                                                                        new System.IO.FileStream(outputFile,
                                                                                                 System.IO.
                                                                                                 FileMode.
                                                                                                 Create));

            _itextPDFWriter.PdfVersion = PdfWriter.VERSION_1_7;
            _itextPDFWriter.Open();

            PdfContentByte itextContent = _itextPDFWriter.DirectContent;

            int pageCounter = 0;

            foreach (Models.Page pageTemplate in documentTemplate.Pages)
            {
                pageCounter++;

                if (pageTemplate.Bleeding.Points > 0)
                {
                    _itextPDFWriter.SetBoxSize("bleed",
                                               new iTextSharp.text.Rectangle(0, 0, pageTemplate.Width.Points,
                                                                             pageTemplate.Height.Points));
                }

                Rectangle pageLayoutRectangle = new iTextSharp.text.Rectangle(-pageTemplate.Bleeding.Points,
                                                                              -pageTemplate.Bleeding.Points,
                                                                              pageTemplate.Width.Points +
                                                                              pageTemplate.Bleeding.Points,
                                                                              pageTemplate.Height.Points +
                                                                              pageTemplate.Bleeding.Points);

                _itextPDFWriter.PageEmpty = false;
                _itextDocument.SetPageSize(pageLayoutRectangle);

                if (!_itextDocument.IsOpen())
                {
                    _itextDocument.Open();
                }



                PdfPage page = new PdfPage(this, itextContent);
                page.Render(pageTemplate);
                itextContent.PdfDocument.NewPage();
            }
        }
Beispiel #2
0
 public void PrepareForWriting()
 {
     writer.Open();
     document.Open();
 }
Beispiel #3
0
        public ActionResult DocuXmlPDF(int idCab)
        {
            try
            {
                var Org_XML = _db.Documento.FirstOrDefault(z => z.id_cab == idCab).xml_dte.ToString();
                var html    = helper.XmlFo4Pdf(Org_XML.Replace("xmlns=\"http://www.sii.cl/SiiDte\" ", "").Replace("\r\n", ""));

                XmlDocument doc = new XmlDocument();
                doc.LoadXml(Org_XML);
                var          Ted = doc.GetElementsByTagName("TED")[0].OuterXml;
                MemoryStream ms  = new MemoryStream();

                // Convierto el HTML en PDF
                ConverterProperties properties = new ConverterProperties();
                properties.SetBaseUri("http://gs.pso.cl/Master/DocuXml?idCab=4923");
                HtmlConverter.ConvertToPdf(html, ms, properties);

                // Genero el PDF417
                MemoryStream msIMG = new MemoryStream();
                iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(ms.ToArray());
                PdfStamper stamper = new PdfStamper(reader, msIMG);
                int        n       = reader.NumberOfPages;
                var        msIMG2  = GenerateBarCodeZXing(Ted);
                //Inserto la imagen del PDF417
                iTextSharp.text.Image QR = iTextSharp.text.Image.GetInstance(msIMG2, ImageFormat.Png);
                QR.SetAbsolutePosition(10, 200);
                stamper.GetOverContent(1).AddImage(QR);
                stamper.FormFlattening = false;



                //msIMG.Flush(); // Don't know if this is necessary
                //msIMG.Position = 0;
                //msIMG.Close();

                //iTextSharp.text.pdf.PdfReader reader2 = new iTextSharp.text.pdf.PdfReader(msIMG.ToArray());

                MemoryStream msMargen = new MemoryStream();
                //WriterProperties writerProperties = new WriterProperties();
                Document doc2 = new Document(iTextSharp.text.PageSize.LETTER, 200, 0, 100, 0);
                iTextSharp.text.pdf.PdfWriter pdfWriter = iTextSharp.text.pdf.PdfWriter.GetInstance(doc2, msMargen);



                doc2.Open();
                pdfWriter.Open();
                PdfContentByte cb = pdfWriter.DirectContent;

                var page = pdfWriter.GetImportedPage(reader, 1);

                cb.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);

                //pdfWriter.SetMargins(0, 0, 0, 0);
                //pdfWriter.Close();

                //ms.Close();
                //msIMG.Close();
                doc2.Close();
                stamper.Close();
                reader.Close();

                return(File(msIMG.ToArray(), System.Net.Mime.MediaTypeNames.Application.Pdf));
            }
            catch (Exception)
            {
                return(null);
            }
        }