PDF压缩原理是什么呢,识别出PDF中各种布局层、图像和文字资源等,通过技术手段对布局进行优化、删除pdf中不需要的资源。
// c#代码using (Optimizer optimizer = new Optimizer()){ // Choose the optimization profile for archiving optimizer.Profile = PDFOptimizationProfile.eOptimizationProfileArchive; // Open input file if (!optimizer.Open(inputPath, "")) throw new Exception(String.Format("Input file {0} cannot be opened. " + "{1} (ErrorCode: 0x{2:x}).", inputPath, optimizer.ErrorMessage, optimizer.ErrorCode)); // Save output file if (!optimizer.SaveAs(outputPath, "", "", PDFPermission.ePermNoEncryption)) throw new Exception(String.Format("Output file {0} cannot be created. " + "{1} (ErrorCode: 0x{2:x}).", outputPath, optimizer.ErrorMessage, optimizer.ErrorCode)); // Close input file if (!optimizer.Close()) throw new Exception(String.Format("Input file {0} cannot be closed. " + "{1} (ErrorCode: 0x{2:x}).", inputPath, optimizer.ErrorMessage, optimizer.ErrorCode));}
// Java代码optimizer = new PdfOptimize();// Choose the optimization profile for archivingoptimizer.setProfile(PdfOptimize.OPTIMIZATIONPROFILE.eOptimizationProfileArchive);// Open input fileif (!optimizer.open(inputPath, "")) throw new IOException(String.format("Input file %s cannot be opened. %s (ErrorCode: 0x%08x).", inputPath, optimizer.getErrorMessage(), optimizer.getErrorCode()));// Save output fileif (!optimizer.saveAs(outputPath, "", "", NativeLibrary.PERMISSION.ePermNoEncryption)) throw new IOException(String.format("Output file %s cannot be created. %s (ErrorCode: 0x%08x).", outputPath, optimizer.getErrorMessage(), optimizer.getErrorCode()));// Close input fileif (!optimizer.close()) throw new IOException(String.format("Input file %s cannot be closed. %s (ErrorCode: 0x%08x).", inputPath, optimizer.getErrorMessage(), optimizer.getErrorCode()));
// C++代码pOptimizer = PdfOptimizeCreateObject();// Choose the optimization profile for archivingPdfOptimizeSetProfile(pOptimizer, eOptimizationProfileArchive);// Open input fileif (!PdfOptimizeOpen(pOptimizer, szInputPath, _T(""))){ _tprintf(_T("Input file %s cannot be opened. %s (ErrorCode: 0x%08x).n"), szInputPath, PdfOptimizeGetErrorMessage(pOptimizer), PdfOptimizeGetErrorCode(pOptimizer)); iReturnValue = 1; goto cleanup;}// Save output fileif (!PdfOptimizeSaveAs(pOptimizer, szOutputPath, _T(""), _T(""), ePermNoEncryption)){ _tprintf(_T("Output file %s cannot be created. %s (ErrorCode: 0x%08x).n"), szOutputPath, PdfOptimizeGetErrorMessage(pOptimizer), PdfOptimizeGetErrorCode(pOptimizer)); iReturnValue = 1; goto cleanup;}// Close input amd output filesif (!PdfOptimizeClose(pOptimizer)){ _tprintf(_T("Input file %s cannot be closed. %s (ErrorCode: 0x%08x).n"), szInputPath, PdfOptimizeGetErrorMessage(pOptimizer), PdfOptimizeGetErrorCode(pOptimizer)); iReturnValue = 1; goto cleanup;}
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!