Ejemplo n.º 1
0
 private void ProcessResources(PDResources resources, string prefix, bool addKey)
 {
     if (resources != null)
     {
         Iterator iterator = resources.getXObjectNames().iterator();
         int      num      = 1;
         while (iterator.hasNext())
         {
             COSName cOSName = (COSName)iterator.next();
             string  str     = null;
             str = (!addKey ? this.GetUniqueFileName(prefix, ".jpg") : this.GetUniqueFileName(string.Concat(prefix, "_", num), ".jpg"));
             PDResources.OutputFileName = string.Concat(str, ".jpg");
             PDXObject xObject = resources.getXObject(cOSName);
             if (resources.isImageXObject(cOSName))
             {
                 PDImageXObject pDImageXObject = (PDImageXObject)xObject;
                 str = (!addKey ? this.GetUniqueFileName(prefix, pDImageXObject.getSuffix()) : this.GetUniqueFileName(string.Concat(prefix, "_", num), pDImageXObject.getSuffix()));
                 Console.WriteLine(string.Concat("Writing image:", str));
                 try
                 {
                     BufferedImage image = pDImageXObject.getImage();
                     ImageIO.write(image, "jpg", new java.io.File(string.Concat(str, ".jpg")));
                 }
                 catch (Exception exception)
                 {
                     Console.WriteLine("Could not write image: {0}.{1}{2}", str, Environment.NewLine, exception.Message);
                 }
             }
             else if (xObject is PDFormXObject)
             {
                 this.ProcessResources(((PDFormXObject)xObject).getResources(), prefix, addKey);
             }
         }
     }
 }
Ejemplo n.º 2
0
 private bool ConvertTiffToPDF(string imagePath)
 {
     try
     {
         string[] strArrays = ImageToPDFConverter.SplitTiff(imagePath);
         for (int i = 0; i < (int)strArrays.Length; i++)
         {
             string str    = strArrays[i];
             PDPage pDPage = new PDPage();
             this.pdfFile.addPage(pDPage);
             PDImageXObject pDImageXObject = PDImageXObject.createFromFile(str, this.pdfFile);
             PDRectangle    pDRectangle    = new PDRectangle((float)(pDImageXObject.getWidth() + 40), (float)(pDImageXObject.getHeight() + 40));
             pDPage.setMediaBox(pDRectangle);
             PDPageContentStream pDPageContentStream = new PDPageContentStream(this.pdfFile, pDPage);
             pDPageContentStream.drawImage(pDImageXObject, 20f, 20f);
             pDPageContentStream.close();
         }
     }
     catch (Exception exception1)
     {
         Exception exception = exception1;
         throw new PDFToolkitException(exception.Message, exception);
     }
     return(true);
 }
Ejemplo n.º 3
0
 private bool ConvertOthersToPDF(string imagePath)
 {
     try
     {
         PDPage pDPage = new PDPage();
         string str    = "temp.png";
         this.pdfFile.addPage(pDPage);
         if (Path.GetExtension(imagePath).ToLower() == ".bmp")
         {
             ImageToPDFConverter.BmpToPng(new Bitmap(Image.FromFile(imagePath)), str);
         }
         else if (Path.GetExtension(imagePath).ToLower() == ".png")
         {
             str = imagePath;
         }
         else
         {
             Image.FromFile(imagePath).Save(str, ImageFormat.Png);
         }
         PDImageXObject pDImageXObject = PDImageXObject.createFromFile(str, this.pdfFile);
         PDRectangle    pDRectangle    = new PDRectangle((float)(pDImageXObject.getWidth() + 40), (float)(pDImageXObject.getHeight() + 40));
         pDPage.setMediaBox(pDRectangle);
         PDPageContentStream pDPageContentStream = new PDPageContentStream(this.pdfFile, pDPage);
         pDPageContentStream.drawImage(pDImageXObject, 20f, 20f);
         pDPageContentStream.close();
     }
     catch (Exception exception1)
     {
         Exception exception = exception1;
         throw new PDFToolkitException(exception.Message, exception);
     }
     return(true);
 }
Ejemplo n.º 4
0
        public static PDAppearanceDictionary GetRubberStampAppearance(PDFDocument document, PDFRectangle rect, string subType)
        {
            PDAppearanceDictionary pDAppearanceDictionary;
            string empty = string.Empty;

            empty = (!System.IO.File.Exists(subType) ? PDFHelper.GetResourceLocation(subType) : subType);
            if (empty == null)
            {
                Console.WriteLine("Cant find rubber stamp");
                pDAppearanceDictionary = null;
            }
            else
            {
                PDImageXObject pDImageXObject = PDImageXObject.createFromFileByContent(new java.io.File(empty), document.PDFBoxDocument);
                float          lowerLeftX     = rect.PDFBoxRectangle.getLowerLeftX();
                float          lowerLeftY     = rect.PDFBoxRectangle.getLowerLeftY();
                rect.PDFBoxRectangle.getWidth();
                rect.PDFBoxRectangle.getHeight();
                rect.PDFBoxRectangle.getHeight();
                rect.PDFBoxRectangle.getWidth();
                PDFormXObject pDFormXObject = new PDFormXObject(document.PDFBoxDocument);
                pDFormXObject.setResources(new PDResources());
                pDFormXObject.setBBox(rect.PDFBoxRectangle);
                pDFormXObject.setFormType(1);
                OutputStream outputStream = pDFormXObject.getStream().createOutputStream();
                PDFHelper.drawXObject(pDImageXObject, pDFormXObject.getResources(), outputStream, lowerLeftX, lowerLeftY, (float)pDImageXObject.getWidth(), (float)pDImageXObject.getHeight());
                outputStream.close();
                PDAppearanceStream     pDAppearanceStream      = new PDAppearanceStream(pDFormXObject.getCOSObject());
                PDAppearanceDictionary pDAppearanceDictionary1 = new PDAppearanceDictionary(new COSDictionary());
                pDAppearanceDictionary1.setNormalAppearance(pDAppearanceStream);
                pDAppearanceDictionary = pDAppearanceDictionary1;
            }
            return(pDAppearanceDictionary);
        }
Ejemplo n.º 5
0
        private static void drawXObject(PDImageXObject xobject, PDResources resources, OutputStream os, float x, float y, float width, float height)
        {
            COSName cOSName = resources.@add(xobject);

            PDFHelper.appendRawCommands(os, PDFHelper.SAVE_GRAPHICS_STATE);
            PDFHelper.appendRawCommands(os, PDFHelper.formatDecimal.format((double)width));
            PDFHelper.appendRawCommands(os, PDFHelper.SPACE);
            PDFHelper.appendRawCommands(os, PDFHelper.formatDecimal.format((long)0));
            PDFHelper.appendRawCommands(os, PDFHelper.SPACE);
            PDFHelper.appendRawCommands(os, PDFHelper.formatDecimal.format((long)0));
            PDFHelper.appendRawCommands(os, PDFHelper.SPACE);
            PDFHelper.appendRawCommands(os, PDFHelper.formatDecimal.format((double)height));
            PDFHelper.appendRawCommands(os, PDFHelper.SPACE);
            PDFHelper.appendRawCommands(os, PDFHelper.formatDecimal.format((double)x));
            PDFHelper.appendRawCommands(os, PDFHelper.SPACE);
            PDFHelper.appendRawCommands(os, PDFHelper.formatDecimal.format((double)y));
            PDFHelper.appendRawCommands(os, PDFHelper.SPACE);
            PDFHelper.appendRawCommands(os, PDFHelper.CONCATENATE_MATRIX);
            PDFHelper.appendRawCommands(os, PDFHelper.SPACE);
            PDFHelper.appendRawCommands(os, "/");
            PDFHelper.appendRawCommands(os, cOSName.getName());
            PDFHelper.appendRawCommands(os, PDFHelper.SPACE);
            PDFHelper.appendRawCommands(os, PDFHelper.XOBJECT_DO);
            PDFHelper.appendRawCommands(os, PDFHelper.SPACE);
            PDFHelper.appendRawCommands(os, PDFHelper.RESTORE_GRAPHICS_STATE);
        }
Ejemplo n.º 6
0
        private bool CheckImages()
        {
            bool flag;

            try
            {
                foreach (PDPage page in this.doc.getPages())
                {
                    PDResources resources = page.getResources();
                    Iterator    iterator  = resources.getXObjectNames().iterator();
                    while (iterator.hasNext())
                    {
                        COSName cOSName = (COSName)iterator.next();
                        if (resources.isImageXObject(cOSName))
                        {
                            PDXObject xObject = null;
                            try
                            {
                                xObject = resources.getXObject(cOSName);
                            }
                            catch (Exception exception)
                            {
                                continue;
                            }
                            PDImageXObject pDImageXObject = (PDImageXObject)xObject;
                            COSBase        filters        = pDImageXObject.getCOSStream().getFilters();
                            if (filters != null)
                            {
                                if ((filters.toString().ToLower().Contains("jpxdecode") ? true : filters.toString().ToLower().Contains("lzw")))
                                {
                                    flag = false;
                                    return(flag);
                                }
                            }
                            if (pDImageXObject.getSoftMask() != null)
                            {
                                pDImageXObject.setColorSpace(null);
                            }
                            PDImageXObject mask = pDImageXObject.getMask();
                            pDImageXObject.getSoftMask();
                            if (mask != null)
                            {
                                pDImageXObject.setColorSpace(null);
                            }
                        }
                    }
                }
                flag = true;
            }
            catch (Exception exception1)
            {
                flag = false;
            }
            return(flag);
        }
Ejemplo n.º 7
0
 private bool ConvertJPGToPDF(string imagePath)
 {
     try
     {
         PDPage pDPage = new PDPage();
         this.pdfFile.addPage(pDPage);
         PDImageXObject pDImageXObject = PDImageXObject.createFromFile(imagePath, this.pdfFile);
         PDRectangle    pDRectangle    = new PDRectangle((float)(pDImageXObject.getWidth() + 40), (float)(pDImageXObject.getHeight() + 40));
         pDPage.setMediaBox(pDRectangle);
         PDPageContentStream pDPageContentStream = new PDPageContentStream(this.pdfFile, pDPage);
         pDPageContentStream.drawImage(pDImageXObject, 20f, 20f);
         pDPageContentStream.close();
     }
     catch (Exception exception1)
     {
         Exception exception = exception1;
         throw new PDFToolkitException(exception.Message, exception);
     }
     return(true);
 }
Ejemplo n.º 8
0
 internal static PDDocument AddTrialStampIfNecessary(PDDocument pdfFile)
 {
     if (PDFHelper.AddStamp)
     {
         PDImageXObject pDImageXObject = null;
         foreach (PDPage page in pdfFile.getPages())
         {
             string str = PDFHelper.CreateLogo("Created with a trial copy of Aquaforest PDF Toolkit", page.getRotation());
             if (!string.IsNullOrEmpty(str))
             {
                 pDImageXObject = PDImageXObject.createFromFile(str, pdfFile);
                 PDPageContentStream pDPageContentStream = new PDPageContentStream(pdfFile, page, PDPageContentStream.AppendMode.APPEND, true);
                 pDPageContentStream.drawImage(pDImageXObject, 100f, page.getMediaBox().getHeight() - 100f);
                 pDPageContentStream.close();
             }
         }
         pdfFile.getDocumentCatalog().setOpenAction(PDFHelper.GetJavascriptPopup());
     }
     return(pdfFile);
 }