Пример #1
0
        protected void ManipulatePdf(String dest)
        {
            PdfDocument resultDoc = new PdfDocument(new PdfWriter(dest));
            PdfDocument srcDoc    = new PdfDocument(new PdfReader(SRC));

            // Assume that there is a single XObject in the source document
            // and this single object is an image.
            PdfDictionary   pageDict      = srcDoc.GetFirstPage().GetPdfObject();
            PdfDictionary   pageResources = pageDict.GetAsDictionary(PdfName.Resources);
            PdfDictionary   pageXObjects  = pageResources.GetAsDictionary(PdfName.XObject);
            PdfName         imgRef        = pageXObjects.KeySet().First();
            PdfStream       imgStream     = pageXObjects.GetAsStream(imgRef);
            PdfImageXObject imgObject     = new PdfImageXObject((PdfStream)imgStream.CopyTo(resultDoc));
            Image           image         = new Image(imgObject);

            image.ScaleToFit(14400, 14400);
            image.SetFixedPosition(0, 0);

            srcDoc.Close();

            PageSize pageSize = new PageSize(image.GetImageScaledWidth(), image.GetImageScaledHeight());
            Document doc      = new Document(resultDoc, pageSize);

            doc.Add(image);

            doc.Close();
        }