Estou sugerindo uma ferramenta de linha de comando aqui, que pode ser facilmente agrupada com loops em linguagens de script internas no Windows, Linux, OS X, etc.
ImageMagick suporta PDFs e tem um resize
com seu converter ferramenta. Eu nunca usei isso pessoalmente, mas você pode tentar brincar com isso.
Você também pode usar a opção compress
(há um exemplo aqui ):
Rotate a PDF
$ convert -rotate 270 -density 300x300 -compress lzw in.pdf out.pdf
This assumes a TIFF-backed PDF. The density parameter is important because otherwise ImageMagick down-samples the image (for some reason). Adding in the compression option helps keep the overall size of the PDF smaller, with no loss in quality.
Para PDFs de várias páginas, convém usar pdftk
, em seguida, use mogrify
do ImageMagick para converter cada página:
$ pdftk in.pdf burst $ mogrify -rotate 270 -density 300x300 -compress lzw pg_*.pdf $ pdftk pg*.pdf cat output out.pdf $ rm pg*.pdf
Para converter arquivos PDF com o ImageMagick, você precisa ter o GhostScript instalado.
O ImageMagick pode converter PDFs de várias páginas. Embora mogrify
seja convertido no lugar, recomendo que você use convert
para poder manter os originais em caso de acidente.
Eu fiz alguns testes em seu PDF de amostra fornecido. Isso funcionou muito bem para mim:
convert -density 200 -compress jpeg -quality 20 test.pdf test2.pdf
O padrão de densidade é 72
DPI. Ao defini-lo mais alto, podemos obter uma resolução mais alta e, portanto, uma qualidade aceitável. Parecia certo em 150
e era um pouco menor, mas se você quiser atender a um intervalo de PDFs 200
deve funcionar.
A compactação JPEG deve escolher um nível automaticamente ou usar 92
na escala de 1
a 100
, sendo 100
a melhor. Definindo-o em 20
, parece quase tão bom quanto o original (um pouco confuso e o pequeno texto na parte inferior é um pouco difícil de ler, mas era originalmente assim mesmo).
Essas opções trazem sua amostra de 1,7 MB para 0,5 MB , mantendo-a legível. Você pode experimentar um pouco.
Se você quiser um tamanho menor (do arquivo e da imagem / PDF), use -resize #%
, por exemplo. %código%. No seu exemplo de PDF, isso torna as letras pequenas na parte inferior praticamente ilegíveis.
Se você ainda tiver pouco espaço, especialmente para os PDFs de várias páginas, poderá compactar ainda mais adicionando os arquivos a um arquivo ZIP (ou outro). Isso reduziu o tamanho do arquivo para 0,43MB nesse PDF de teste (reduzir a qualidade de compactação de JPEG tem um efeito muito mais drástico). Você também pode dividir o arquivo PDF em páginas com -resize 75%
, como @glallen sugerido em sua edição, ou divida o arquivo e recombine na outra extremidade.
2MB também é um limite de anexo pequeno, você pode querer procurar outros provedores de e-mail. Da memória, o GMail fornece mais de 10MB por email.
Essas opções, e mais, estão totalmente documentadas em seu site .