示例#1
0
 private static void Compressor_OnExceptionOccurred(PdfCompressor c, Exception x)
 {
     Console.WriteLine("Exception Occured! ");
     Console.WriteLine(x.Message);
     Console.WriteLine(x.StackTrace);
     _running = false;
 }
示例#2
0
        public static void CompressPDF()
        {
            //Please repace the trial key from trial-license.txt in download package
            //This license registration line need to be at very beginning of our other code
            LicenseManager.SetKey("trial key");

            //Load PDF document
            PdfCompressor document = new PdfCompressor("sample.pdf");

            //Whether compress text content
            document.CompressContent = true;
            //Whether compress image embedded
            document.CompressImage = true;
            //Whether delete the annotations
            document.RemoveAnnotations = false;
            //Whether delete the customized meta data
            document.RemoveMetaData = false;

            //Compress document
            document.Compress("compressed.pdf");
        }
示例#3
0
        private static void CompressFiles(FileInfo[] files)
        {
            var apiPublicKey  = ConfigurationSettings.AppSettings["API_Public_Key"];
            var apiPrivateKey = ConfigurationSettings.AppSettings["API_Private_Key"];

            ICompressor compressor = new PdfCompressor(apiPublicKey, apiPrivateKey);

            int i = 1;

            foreach (var file in files)
            {
                Console.WriteLine($"Compressing #{i++} ({file.FullName})");

                try
                {
                    compressor.Compress(file.FullName, file.DirectoryName);
                }
                catch (Exception exception)
                {
                    Console.WriteLine(exception.Message);
                }
            }
        }
示例#4
0
        public void RunCompression()
        {
            var filename = new[] { "T_3034-15.pdf" };

            PdfCompressor.Run(filename);
        }
示例#5
0
        private static void Main(string[] args)
        {
            List <string> distillerOptions = new List <string>
            {
                "-dSubsetFonts=true",
                "-dCompressFonts=true",
                "-sProcessColorModel=DeviceRGB",
                "-sColorConversionStrategy=sRGB",
                "-sColorConversionStrategyForImages=sRGB",
                "-dConvertCMYKImagesToRGB=true",
                "-dDetectDuplicateImages=true",
                "-dDownsampleColorImages=false",
                "-dDownsampleGrayImages=false",
                "-dDownsampleMonoImages=false",
                "-dColorImageResolution=265",
                "-dGrayImageResolution=265",
                "-dMonoImageResolution=265",
                "-dDoThumbnails=false",
                "-dCreateJobTicket=false",
                "-dPreserveEPSInfo=false",
                "-dPreserveOPIComments=false",
                "-dPreserveOverprintSettings=false",
                "-dUCRandBGInfo=/Remove"
            };


            PdfCompressorSettings pdfSettings = new PdfCompressorSettings
            {
                PdfCompatibilityLevel = PdfCompatibilityLevel.Acrobat_7_1_6,
                WriteTextMode         = WriteTextMode.Word,
                Dpi              = 400,
                ImageType        = PdfImageType.Tif,
                ImageQuality     = 100,
                CompressFinalPdf = true,
                DistillerMode    = dPdfSettings.prepress,
                DistillerOptions = string.Join(" ", distillerOptions.ToArray())
            };

            _comp = new PdfCompressor(@"C:\gs\gs9.24\bin\gswin64c.exe", pdfSettings);
            _comp.OnExceptionOccurred += Compressor_OnExceptionOccurred;
            _comp.OnCompressorEvent   += _comp_OnCompressorEvent;


            byte[] data  = File.ReadAllBytes(@"Test1.pdf");
            byte[] data1 = File.ReadAllBytes(@"Test2.pdf");
            byte[] data2 = File.ReadAllBytes(@"Test3.pdf");

            new Thread(() =>
            {
                Console.WriteLine("Started Test 1");
                Example(data, @"Test1_ocr.pdf");
            }).Start();

            new Thread(() =>
            {
                Console.WriteLine("Started Test 2");
                Example(data1, @"Test2_ocr.pdf");
            }).Start();

            new Thread(() =>
            {
                Console.WriteLine("Started Test 3");
                Example(data2, @"Test3_ocr.pdf");
            }).Start();

            int counter = 0;

            while (_running)
            {
                Thread.Sleep(1000);
                Console.WriteLine("Working...." + counter);
                counter++;
            }

            Console.WriteLine("Finished!");
            Console.ReadLine();
        }