Eu tenho um arquivo PDF de 72,9 MB que eu preciso reduzir em menos de 500 KB.
O arquivo era uma imagem JPEG que eu havia digitalizado e convertido em pdf.
pdf
compression
tamimym
fonte
fonte
pdfopt
possui uma sintaxe simples e melhora a velocidade de carregamento e de virar a página na era do iPad. :-)Respostas:
aking1012 está certo. Com mais informações sobre possíveis imagens incorporadas, hiperlinks, etc., seria muito mais fácil responder a essa pergunta!
Aqui estão algumas soluções de script e de linha de comando. Use como achar melhor.
fonte
Use o seguinte comando ghostscript :
-dPDFSETTINGS=/screen
qualidade inferior, tamanho menor. ( 72 dpi )-dPDFSETTINGS=/ebook
para obter melhor qualidade, mas PDFs um pouco maiores. ( 150 dpi )-dPDFSETTINGS=/prepress
saída semelhante à configuração do Acrobat Distiller "Pré-impressão otimizada" ( 300 dpi )-dPDFSETTINGS=/printer
seleciona uma saída semelhante à configuração "Impressão otimizada" do Acrobat Distiller ( 300 dpi )-dPDFSETTINGS=/default
seleciona a saída destinada a ser útil em uma ampla variedade de usos, possivelmente à custa de um arquivo de saída maiorfonte
screen
configuração era de qualidade muito baixa para mim, masebook
funcionou bem, reduzindo um PDF baseado em digitalização de 33Mb para 3,6Mb e mantendo-o muito legível. Outras opções para a-dPDFSETTINGS
opção estão listadas aqui: milan.kupcevic.net/ghostscript-ps-pdf , e pode ser uma boa ideia incluí-las nesta resposta.Minha maneira favorita de fazer isso é converter o pdf em ps e vice-versa. Porém, nem sempre funciona, mas quando funciona, os resultados são bons:
Isso também funciona diretamente em pdf, como sugerido nos comentários.
Alguns usuários também relatam mais sucesso ao usar as configurações de e-book da seguinte maneira:
fonte
ps2pdf intput.pdf output.pdf
Se você possui um pdf com imagens digitalizadas , pode
convert
criar um PDF com compactação jpeg (você pode usar esse método em qualquer pdf, mas perderá todas as informações de texto).Por exemplo:
Ajuste a densidade (por exemplo, 100x100) e a qualidade às suas necessidades.
Dependendo da entrada, a compactação jpeg pode não ser a melhor opção devido aos artefatos de compactação. Você pode escolher entre BZip, Fax, Grupo4, JPEG, JPEG2000, Sem perdas, LZW, RLE ou Zip como métodos alternativos de compactação (alguns permitem apenas imagens em preto e branco). Para detalhes veja aqui .
Consegui ótimas taxas de compactação para documentos digitalizados / fotografados (dependendo das configurações). Dependendo da origem do documento, convém reduzir a profundidade da cor (
-depth
argumento).fonte
pdfimages input.pdf pages
para extrair arquivos PBM, em seguida, você pode fazer algo como:for page in *.pbm; do convert $page -compress Group4 -type bilevel TIFF:- | convert - output.pdf
. Qualquer OCR será perdido, então normalmente o façopdfsandwich output.pdf
, o que parece reduzir ainda mais o tamanho do arquivo.gs
nos bastidores.--density --quality --compress
vs-density -quality -compress
.-resize 50%
também, altere a porcentagem dependendo da quantidade de DPI usada durante a digitalizaçãoEu precisava reduzir o tamanho de um PDF que continha digitalizações coloridas de um documento. Cada uma das minhas páginas tinha uma imagem colorida no que dizia respeito ao arquivo. Eles eram imagens de páginas contendo texto e imagens, mas foram criadas digitalizando para uma imagem.
Eu usei uma combinação do comando ghostscript abaixo e um de outro thread.
Isso reduziu a resolução da imagem para 150 dpi, cortando pela metade o tamanho do meu arquivo. Olhando para o documento, quase não houve perda perceptível da qualidade da imagem. O texto ainda está perfeitamente legível no meu Nexus7 de 2012.
fonte
Aqui está um script para reescrever PDFs digitalizados:
Você pode personalizá-lo um pouco para torná-lo mais reutilizável, mas se você tiver apenas um pdf, poderá substituí-lo
$1
pelo nome do arquivo pdf e conectá-lo em um terminal.fonte
Eu costumo usar o ps2pdf para fazer isso (sintaxe mais fácil), algo como isto:
Eu uso o seguinte script python para reduzir o tamanho de todos os arquivos pdf em um diretório em um servidor de produção (8.04). Então deve funcionar.
fonte
Isso terá um bom resultado.
fonte
O melhor para mim foi
Outras maneiras:
Saudações
fonte
pdf2ps input.pdf temp.ps && ps2pdf14 temp.ps output.pdf && rm temp.ps
Acabei de encontrar esse problema sozinho. Se estiver usando uma digitalização simples, selecione o modo de texto para verificações em baixa resolução e não precisará se preocupar com o material da linha de comando. Apenas dizendo.
fonte
Controle a qualidade da compactação:
fonte
shift
. O primeiro parâmetro é o arquivo de entrada, o segundo é o arquivo de saída e o restante dos parâmetros será passadogs
como está.Como esse link foi o primeiro para mim quando pesquisei no Google, pensei em adicionar mais uma possibilidade. Nenhuma das soluções acima estava funcionando para mim em um pdf exportado do Inkscape (15 mb), mas finalmente consegui reduzi-lo para 1 mb abrindo-o no GIMP e exportando como pdf novamente.
Outra opção que chegou perto (mas o texto estava um pouco confuso) foi o utilitário de conversão do ImageMagick:
fonte
convert -compress Zip
parecia rasterizar todos os vetores.No final, eu escrevi o meu próprio script bash para resolver isso, ele usa
mogrify
,convert
egs
para extrair páginas PDF como png, redimensioná-las, convertê-los em 1-bit bmp e depois reconstruí-los como pdf. A redução do tamanho do arquivo pode ser superior a 90%. Disponível em http://www.timedicer.co.uk/programs/help/pdf-compress.sh.php .fonte
Eu recomendo fortemente o pdfsizeopt .
É muito mais eficiente em termos de redução de tamanho do que qualquer um dos softwares CLI e GUI anterior que eu tentei (incluindo
convert
,gs
,pdftk
, etc.) - embora possivelmente mais lento compngout
ativado -, e não tem alguns dos seus problemas (sem pesadamente imagens pixeladas / degradadas, sem perda de marcadores, etc.).Agora, se você precisar atingir um determinado tamanho, independentemente das conseqüências (incluindo degradar as imagens a um ponto de ilegibilidade), pode não ser a ferramenta de que você precisa, mas como uma solução permanente para reduzir tamanhos grandes desnecessários em PDFs sem perder legibilidade, informações e qualidade de imagem aceitável, acho que é a melhor opção. (Nota: costumo usá-lo depois de fazer um OCR de vetorização pela primeira vez no Adobe Acrobat [a função costumava ser chamada de "CleanScan"]], que pode ter um impacto dramático no tamanho de alguns documentos de texto digitalizados.
Eu recomendo a instalação genérica do Unix :
Instale todas as dependências necessárias:
Baixe e instale o executável:
Uso:
Nota para usuários do Mac que encontram esta publicação (ou usuários do Linuxbrew): existe uma fórmula de instalação do Homebrew:
fonte
Eu estava enfrentando o mesmo problema e fiquei feliz em encontrar esse tópico. Especificamente, eu tinha um pdf gerado a partir de imagens digitalizadas e precisava reduzir o tamanho de bytes em um fator de 6.
Infelizmente, nenhuma das soluções acima funcionou. mas o pdf tinha tamanho de
Finalmente, obtive os resultados desejados com um comando "convert" que executou o redimensionamento e a compactação em uma:
Observe que doc_orig tinha densidade de 72x72 dpi.
fonte
Se a conversão para djvu também estiver ok e se não houver cores envolvidas, tente o seguinte:
Converta os arquivos pdf em jpg usando
pdfimages -j
Se você obtiver arquivos pbm, execute a etapa intermediária:
for FILENAME in $(ls *.pbm); do convert $FILENAME ${FILENAME%.*}.jpg ;done
O comando convert é do pacote imagemagick.
Em seguida, use o scantailor para criar tifs com isso.
Em uma última etapa, você vai ao diretório de scantailors (onde estão os tifs ) e aplica o djvubind a esse diretório.
Isso deve reduzir drasticamente o tamanho do arquivo, sem grande perda de qualidade do texto. Se você deseja um controle mais refinado sobre o ocr-back-end, tente
djvubind --no-ocr
usar o ocrodjvu para adicionar a camada ocr posteriormente.Se você tem cores no documento, as coisas ficam um pouco mais complicadas. Em vez de djvubind, você pode usar o didjvu e, no scantailor, é necessário mudar para o modo misto e selecionar, às vezes, imagens coloridas manualmente.
fonte
Carregar imagem ou mesmo arquivo PDF no inkscape.
No inkscape: salve em formato vetorial (como o .svg nativo).
Importe arquivos vetoriais para o scribus, edite o layout e exporte / salve como .pdf a partir daí
fonte
Ferramenta de compactação de PDF super simples: página do GitHub.
Instalação no Ubuntu:
Ele usa ghostscript.
fonte
Você pode tentar isso:
É mais rápido do que
gs
mas compacta até 30% nesse caso para um arquivo de entrada 107,5MiB.fonte
Para mim, a
screen
opção gs era muito ruim e a opçãoebook
muito grande.Meu documento original continha texto como imagens coloridas e em preto e branco (dependendo da página).
A melhor solução que encontrei foi:
Observe que o nível de compactação não é linear. Se eu estava especificando 135 que não compactou, achei 130 como sendo (no meu caso) a resolução máxima que atinge uma compactação.
fonte
Eu usei os comandos abaixo, mas ele não compactou meu arquivo pdf substancialmente. Algumas vezes, parte da porção ficou enegrecida após a compressão.
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf $INPUTFILE
"ps2pdf -dPDFSETTINGS=/ebook %s %s" % (input_file_path, out_file_path)
Depois de muito vagar pela web, não consegui encontrar a biblioteca de compactação correta. Eu me deparei
pdfcompressor.com
. Este é apenas um site incrível. Comprime o pdf em 95% (15Mb de arquivos). Então usei selênio e Tor para automatizar a compressão. Confira meu repositório do Github. [GITHUB] ( https://github.com/gugli28/PdfCompressor )fonte