Problemas ao comprimir documentos em PDF

0 respostas
java
L

Estou com um problema ao comprimir documentos em pdf.

Estou utilizando a biblioteca do GhostScript e o problema é que ao comprimir documentos que contenham uma página como imagem, essas páginas ficam bom fundo preto.

Estou usando essas opções abaixo para tratar páginas com imagem, mas não sei o que pode estar faltando.

stream.clear();

stream.setData(imgBytes.toByteArray(), false, PRStream.NO_COMPRESSION);

stream.put(PdfName.TYPE, PdfName.XOBJECT);

stream.put(PdfName.SUBTYPE, PdfName.IMAGE);

stream.put(PdfName.FILTER, PdfName.DCTDECODE);

stream.put(PdfName.WIDTH, new PdfNumber(width));

stream.put(PdfName.HEIGHT, new PdfNumber(height));

stream.put(PdfName.BITSPERCOMPONENT, new PdfNumber(8));

stream.put(PdfName.COLORSPACE, PdfName.DEVICERGB);

stream.put(PdfName.BACKGROUND, new PdfName(“FFFFFF”)); // Define o fundo como branco

Na Dll do GhostScript estou passando os seguinte parâmetros.

String[] gsArgs = new String[26];

gsArgs[0] = “-gs”;

gsArgs[1] = “-sDEVICE=pdfwrite”;

gsArgs[2] = “-dPDFSETTINGS=/screen”;

gsArgs[3] = “-dCompressFonts=true”;

gsArgs[4] = “-dEmbedAllFonts=true”;

gsArgs[5] =  “-dSubsetFonts=true”;

gsArgs[6] =  “-dColorImageDownsampleType=/Bicubic”;

gsArgs[7] =  “-dColorImageResolution=110”;

gsArgs[8] =  “-dGrayImageDownsampleType=/Bicubic”;

gsArgs[9] =  “-dGrayImageResolution=110”;

gsArgs[10] =  “-dMonoImageDownsampleType=/Subsample”;

gsArgs[11] =  “-dMonoImageResolution=110”;

gsArgs[12] = “-dDownsampleColorImages=true”;

gsArgs[13] = “-dDownsampleGrayImages=true”;

gsArgs[14] = “-dDownsampleMonoImages=true”;

gsArgs[15] =  “-r150” ;

gsArgs[16] = “-dCompatibilityLevel=1.4”;

//gsArgs[14] = “-dPDFSETTINGS=/ebook”; //DPI: screen=72 - ebook=150 - printer=300 - prepress=300

gsArgs[17] = “-dNOPAUSE”;

gsArgs[18] = “-dQUIET”;

gsArgs[19] = “-dBATCH”;

gsArgs[20] = “-dUseXPutImage=false”;

gsArgs[21] = “-dAutoRotatePages=/None”; //-dAutoRotatePages=/None or /All or /PageByPage

gsArgs[22] = “-dNumRenderingThreads=8”;

gsArgs[23] = “-sOutputFile=” + caminhoPDF + “\compressed_temp_gs_” + nomePDFOriginal;

gsArgs[24] = “-f”;

gsArgs[25] = caminhoPDF + “\”+ nomePDFOriginal;

gs.initialize(gsArgs);

gs.exit();

}

Alguém pode me ajudar por favor.

Criado 15 de maio de 2024
Respostas 0
Participantes 1