static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            try
            {
                IronPdf.License.LicenseKey = "IRONPDF.DEVTEAM.IX3145-C34E80DCB2-ADJHRCSXUKPB-PKEVGHAWERN4-QR764J6FKUVF-C2SF2RA7BMOA-YFAVLMKNDRC5-7BDQGJ-LL4ZT5GOFJ2NEA-MINISTRYOFBUSINESS.IRO200810.4403.75155.ORG.5DEV.4YR-Q4SJ5M.RENEW.SUPPORT.10.AUG.2024";



                var pdf         = new IronPdf.PdfDocument("response.pdf");
                int permissions = EncryptionConstants.ALLOW_SCREENREADERS;
                using (ByteArrayOutputStream memoryStream = new ByteArrayOutputStream(pdf.BinaryData.Length))
                {
                    using (MemoryStream inputStream = new MemoryStream(pdf.BinaryData))
                    {
                        iText.Kernel.Pdf.PdfDocument pdfDocument1 = new iText.Kernel.Pdf.PdfDocument(new PdfReader(inputStream), new PdfWriter(memoryStream));
                        pdfDocument1.Close();
                    }
                }
            }
            catch (Exception es)
            {
                var ass = es.Message;
            }
        }
Exemplo n.º 2
0
        public void WriteShapes(Shape[] shapes)
        {
            if (shapes == null)
            {
                throw new ArgumentNullException(nameof(shapes));
            }

            foreach (Shape shape in shapes)
            {
                shape.Write(this);
            }

            m_pdfDocument.Close();
            Dispose();
        }
        public void CreatePdfDocument(int id, string userId)
        {
            var dbDoc = _db.CreatedPdfDocumenten
                        .Include(x => x.DocumentPartValues)
                        .Include(x => x.DocumentPartValues.Select(p => p.PdfDocumentPart))
                        .Include(x => x.PdfDocument)
                        .Include(x => x.UserInsert)
                        .Include(x => x.Logo)
                        .First(x => x.Id == id && x.UserInsert.Id == userId);

            var src         = Path.Combine(_basePathTemplates, dbDoc.PdfDocument.FileName);
            var destination = Path.Combine(_basePathUserSavedPdfs, dbDoc.UserInsert.Email, dbDoc.FileName);

            Directory.CreateDirectory(Path.GetDirectoryName(destination));

            iText.Kernel.Pdf.PdfDocument pdfDoc = new iText.Kernel.Pdf.PdfDocument(new PdfReader(src), new PdfWriter(destination));

            PdfAcroForm form              = PdfAcroForm.GetAcroForm(pdfDoc, true);
            var         fields            = form.GetFormFields();
            var         values            = dbDoc.DocumentPartValues.Select(x => new { x.Value, x.PdfDocumentPart.VeldNaam, x.PdfDocumentPart.Pagina });
            var         taalConfiguraties = _db.PdfConfiguraties.Where(x => x.Language == dbDoc.Taal).OrderBy(x => x.Key).ToList();

            foreach (var field in fields)
            {
                var          v = values.FirstOrDefault(va => va.VeldNaam == field.Key);
                PdfFormField toSet;
                fields.TryGetValue(field.Key, out toSet);

                // logo velden
                if (field.Key.ToLower().Contains("logo"))
                {
                    if (toSet is PdfButtonFormField)
                    {
                        SetLogo(toSet, pdfDoc, Path.Combine(_basePathTemplates, dbDoc.Logo.FileName), field.Key.ToLower() == "logo voorzijde" ? 1 : 2);
                    }
                    else
                    {
                        // zou niet mogen maar anders komt er een fout bij flattenfields
                        toSet.SetValue(field.Key);
                    }
                    continue;
                }

                // taalvelden
                if (field.Key.ToLower().Contains("footer") || field.Key.ToLower().Contains("afsluiting achterzijde"))
                {
                    SetFooter(toSet, pdfDoc, 2, taalConfiguraties);
                    continue;
                }

                // gewone velden
                if (v != null && v.Value != null)
                {
                    if (toSet is PdfButtonFormField)
                    {
                        var foto     = _db.Fotos.First(f => f.Id.ToString() == v.Value);
                        var filename = Path.Combine(_basePathFotos, foto.Path, foto.Name);

                        SetImage(toSet, pdfDoc, filename, v.Pagina);
                    }
                    else
                    {
                        // rekening houden met maxlen
                        var tekst = GetTekstBeperktOpMaxLen(toSet, v.Value);
                        toSet.SetValue(tekst);
                    }
                }
                else
                {
                    toSet.SetValue("");
                }
            }
            form.FlattenFields();
            pdfDoc.Close();

            //dbDoc.IsCreated = true;
            //_db.SaveChanges();
        }