Isso é incrível. Tão fácil. Ele dimensiona automaticamente as imagens e tudo mais .. Eu adoro código aberto.
Nathan Wallace
Existe uma maneira de controlar a qualidade do documento ou o tamanho do arquivo PDF resultante? Preciso fazer upload de alguns documentos com um tamanho máximo de arquivo de 2,5 MiB. Tentei com a -qualityopção, mas o tamanho do arquivo é sempre ~ 9,5 MiB.
arielnmz
É possível anexar arquivos de imagem a um PDF existente?
Kiran Reddy de
3
Converta todos os arquivos em uma pasta de um tipo especificado usandoconvert *.jpg file.pdf
haakym
2
@arielnmz, você pode compactar o arquivo usando os parâmetros -compress jpeg -quality 50. Veja minha resposta
Michael Schmid
36
Se eu quiser mesclar algumas digitalizações em um arquivo PDF, faço o seguinte:
Isso fornece um documento PDF com tamanho de página DIN-A4, onde cada pngarquivo é centralizado em sua própria página. Imagens muito grandes para uma página DIN-A4 são redimensionadas proporcionalmente para caber em uma página. Imagens menores não são redimensionadas (não aumentadas).
Você deve nomear todos os pngarquivos na linha de comando, mas também pode usar curingas para, por exemplo, mesclar todos os arquivos png no diretório atual:
O pdfjoincomando faz parte do PDFjam, conforme mencionado na resposta de Jeremiah Willcock. Portanto, você provavelmente terá que instalar um pacote chamado pdfjamou texlive-extra-utilscom o gerenciador de pacotes da sua distros. PDFjam é capaz de usar pngarquivos como entrada desde a versão 2.07, lançada em 2013-11-13.
parece que o pdfjoin se foi e agora existe apenas uma ferramenta diferente chamada pdfunite que só combina vários arquivos PDF em um ...
Gregor
1
@Gregor O que o faz dizer que o pdfjoin se foi?
Pascal Rosin
@Pascal_Rosin não conseguiu encontrá-lo no Debian nem nos repositórios Arch ...
Gregor
2
pdfjoinestá disponível no texlive-extra-utilspacote em algumas plataformas. Você sempre pode instalá-lo a partir da fonte também.
Mahmoud Al-Qudsi
10
A ferramenta de conversão da ImageMagick é minha preferência.
O programa convert é membro do conjunto de ferramentas ImageMagick. Use-o para converter entre formatos de imagem, bem como redimensionar uma imagem, desfocar, cortar, remover, pontilhar, desenhar, inverter, juntar, fazer uma nova amostra e muito mais.
No caso de desejar um tamanho de arquivo menor e não houver problemas com a perda de qualidade, você pode primeiro convertê-los para o formato JPEG. (ImageMagick também suporta a alteração do nível de compressão PNG, mas normalmente seus arquivos de entrada já estão usando o nível mais alto.)
Como alternativa, você pode obter um tamanho de arquivo (e qualidade) mais baixos, reamostrando as imagens para uma determinada resolução.
convert *.png 2.png -resample 300 Result.pdf
O valor de resamplerefere-se ao número de pixels por polegada. ImageMagick lê a densidade original da parte EXIF das imagens de entrada, caindo para 72 dpi. Você pode usar o densityparâmetro para definir uma resolução personalizada para as imagens de entrada.
Pode, claro, também combinar os compress, qualitye resampleparâmetros.
Os arquivos de imagem não são excluídos, mas você pode copiá-los para sua tranquilidade. Eu também tive o problema stackoverflow.com/questions/42928765/… para resolver antes de funcionar.
Recentemente, a imagemagick nega a conversão de PDF por padrão. Veja esta pergunta se você encontrar isso para saber como alterar esta política. stackoverflow.com/questions/52998331/…
user2565010
5
Eu roubei isso, mas esta é a solução que usei de Jeremiah Willcock e outro site de respostas. Não cavar na história no momento. Eu menti, menti. (Tully @ https://askubuntu.com/a/626301 )
Eu precisava de um arquivo pequeno o suficiente para enviar por e-mail.
Para combinar imagens em um PDF (no diretório de trabalho, use a linha de comando:
Você pode compactar o arquivo diretamente com convert , usando os parâmetros -compress jpeg -quality 50. Veja minha resposta
Michael Schmid
@MichaelSchmid A compressão com convert não é tão efetiva. Isso apenas reduz a qualidade do jpeg, enquanto a solução gs altera a resolução. Se você tentar com uma imagem de alta resolução, verá como é grande a diferença de tamanho, mesmo que opte por qualidade jpg extremamente baixa.
mak
Sim, a reamostragem pode realmente ser mais eficaz do que a compactação JPEG. E ImageMagick também suporta isso. Eu adicionei essa opção em minha resposta.
-quality
opção, mas o tamanho do arquivo é sempre ~ 9,5 MiB.convert *.jpg file.pdf
-compress jpeg -quality 50
. Veja minha respostaSe eu quiser mesclar algumas digitalizações em um arquivo PDF, faço o seguinte:
Isso fornece um documento PDF com tamanho de página DIN-A4, onde cada
png
arquivo é centralizado em sua própria página. Imagens muito grandes para uma página DIN-A4 são redimensionadas proporcionalmente para caber em uma página. Imagens menores não são redimensionadas (não aumentadas).Você deve nomear todos os
png
arquivos na linha de comando, mas também pode usar curingas para, por exemplo, mesclar todos os arquivos png no diretório atual:O
pdfjoin
comando faz parte do PDFjam, conforme mencionado na resposta de Jeremiah Willcock. Portanto, você provavelmente terá que instalar um pacote chamadopdfjam
outexlive-extra-utils
com o gerenciador de pacotes da sua distros. PDFjam é capaz de usarpng
arquivos como entrada desde a versão 2.07, lançada em 2013-11-13.fonte
pdfjoin
está disponível notexlive-extra-utils
pacote em algumas plataformas. Você sempre pode instalá-lo a partir da fonte também.A ferramenta de conversão da ImageMagick é minha preferência.
Se você quiser que os arquivos de imagem (e, portanto, sua qualidade e tamanho) sejam alterados, basta colocar um contêiner PDF em torno deles:
No caso de desejar um tamanho de arquivo menor e não houver problemas com a perda de qualidade, você pode primeiro convertê-los para o formato JPEG. (ImageMagick também suporta a alteração do nível de compressão PNG, mas normalmente seus arquivos de entrada já estão usando o nível mais alto.)
Use um valor entre 0 e 100 para a
quality
opção.Como alternativa, você pode obter um tamanho de arquivo (e qualidade) mais baixos, reamostrando as imagens para uma determinada resolução.
O valor de
resample
refere-se ao número de pixels por polegada. ImageMagick lê a densidade original da parte EXIF das imagens de entrada, caindo para 72 dpi. Você pode usar odensity
parâmetro para definir uma resolução personalizada para as imagens de entrada.Pode, claro, também combinar os
compress
,quality
eresample
parâmetros.fonte
Eu roubei isso, mas esta é a solução que usei de Jeremiah Willcock e outro site de respostas. Não cavar na história no momento. Eu menti, menti. (Tully @ https://askubuntu.com/a/626301 )
Eu precisava de um arquivo pequeno o suficiente para enviar por e-mail.
Para combinar imagens em um PDF (no diretório de trabalho, use a linha de comando:
Para encolher usando o ghostscript após a combinação (eu usei quase no sistema padrão kde):
Meu arquivo tinha 14 imagens (19 MB após a conversão, gs aumentou 1,6 MB, a qualidade ainda era ótima). O arquivo de saída é chamado
output.pdf
.fonte
-compress jpeg -quality 50
. Veja minha resposta