Beispiel #1
0
        public void AddImage(string fileName, float x, float y, float width, float height)
        {
            PdfFont font = new PdfFont(ObjectNumber, "Times-Roman");

            PdfObjects.Add(font);
            ObjectNumber++;

            // TODO: add image support
            PdfImage image = new PdfImage(ObjectNumber, fileName, width, height);

            PdfObjects.Add(image);
            ObjectNumber++;

            PdfObject procSet = new PdfObject(ObjectNumber);

            procSet.Dictionary.Add("ProcSet", $"[/PDF /Text /ImageB /ImageC /ImageI]");
            procSet.Dictionary.Add("Font", $"<< {font.Name} {font.PdfReference()} >>");
            procSet.Dictionary.Add("XObject", $"<< {image.Name} {image.PdfReference()} >>");
            PdfObjects.Add(procSet);
            ObjectNumber++;

            PdfImageTransform pdfImageTransform = new PdfImageTransform(ObjectNumber, fileName, image.Name, x, y, width, height, CurrentPage.MediaBox);

            PdfObjects.Add(pdfImageTransform);
            ObjectNumber++;

            CurrentPage.AddResources(procSet);
            CurrentPage.AddContent(pdfImageTransform);
        }