AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 476997
Accepted
Alrick
Alrick
Asked: 2018-10-23 01:42:15 +0800 CST2018-10-23 01:42:15 +0800 CST 2018-10-23 01:42:15 +0800 CST

Converter PDF em imagens em 1920x1080

  • 772

Eu quero converter um PDF para imagens PNG usando convert. As imagens devem caber na proporção 1920x1080 por ter uma proporção ?x1080 e ter a melhor qualidade.

Aqui estão muitas opções que posso usar com convert: https://imagemagick.org/script/command-line-options.php#append


  • Primeiro eu tentei a seguinte linha de comando:

convert my.pdf -geometry 1920x1080 -size 1920x1080 -density 1920x1080 my_resized_pdf.png

O resultado do comando me dá uma imagem com boa geometria (763x1080), mas com baixa qualidade que não quero obter.

insira a descrição da imagem aqui

  • Eu uso a linha de comando convert sem o parâmetro geometry da seguinte forma:

convert my.pdf -size 1920x1080 -density 1920x1080 my_resized_pdf.png

A qualidade do resultado é exatamente o que eu quero, mas a resolução não é 1920x1080, mas sim 842x595. Não cabe exatamente na altura a proporção 1920x1080.

insira a descrição da imagem aqui

É possível obter imagens PNG com proporção ?x1080 e com 100% de qualidade de um PDF? Ou é 842x595 a maior proporção para obter uma imagem de 100% de qualidade? Devo definir uma opção DPI para convert?

pdf conversion
  • 2 2 respostas
  • 5810 Views

2 respostas

  • Voted
  1. Best Answer
    frostschutz
    2018-10-23T03:47:47+08:002018-10-23T03:47:47+08:00

    Isso envolve algumas tentativas e erros e, no final, é discutível qual resultado você pode considerar o "melhor resultado". Então, permita-me apenas dar alguns conselhos genéricos:

    • use a -flattenopção para se livrar do fundo transparente. A transparência torna difícil julgar a qualidade real do resultado. Se você precisar da transparência na imagem final, poderá remover -flattenassim que tiver certeza da qualidade.

    • use algo como -density 300para obter um resultado de DPI alto. O principal problema converté que ele usa uma densidade muito baixa por padrão (72 DPI). Este parâmetro deve ser especificado antes do arquivo de entrada.

    • o downscaling de uma imagem de alto DPI pode causar desfoque adicional, então talvez calcular o valor correto de DPI para alcançar a resolução desejada seja o caminho a seguir:

      $ convert -density 100 file.pdf -flatten file100.png
      $ file file100.png
      file100.png: PNG image data, 827 x 1169, 8-bit colormap, non-interlaced
      $ echo $((1080*10000/1169))
      9238
      $ convert -density 92.38 file.pdf -flatten file9238.png
      $ file file9238.png
      file9238.png: PNG image data, 764 x 1080, 8-bit colormap, non-interlaced
      

    Não tenho certeza se existe uma maneira de convertdeterminar o valor DPI "ideal" por si só.

    Se você levar essa pergunta para o canal ou fórum do ImageMagick IRC, tenho certeza de que obterá mais alguns conselhos. Ajuda se você fornecer o link para o arquivo PDF com o qual está trabalhando. ;)

    Você também pode melhorar a qualidade de outras maneiras, por exemplo, aparando bordas vazias. Você está perdendo muita resolução se metade da página for branca. Existem até soluções que reorganizam o texto PDF para tirar o máximo proveito do espaço de tela disponível (por exemplo k2pdfopt, ).

    Finalmente, experimente também outros programas. Isso é uma questão de opinião, mas prefiro usar o Inkscape ou o GhostScript diretamente. O ImageMagick tem caracteres "colados juntos", o Inkscape tem um resultado mais equilibrado e o GhostScript permite renderizar uma imagem de pixel puro sem desfoque (se isso for algo que você gosta - use pngalphapara a versão borrada, que é praticamente idêntica a convert).

    ImageMagic:

    ImageMagick

    Inkscape:

    Inkscape

    GhostScript:

    gs -r92.38 -sDEVICE=png48 -sOutputFile=ghostscript.png file.pdf
    

    GhostScript

    • 7
  2. JJoao
    2018-10-23T02:00:47+08:002018-10-23T02:00:47+08:00

    Tentar:

    convert -resize 1920x1080  in.pdf   out.png
    

    Se o seu pdf tiver 10 páginas, você receberá 10 arquivos out-1.png ... out-10.png

    Por favor, ignore esta resposta : embora útil para o redimensionamento de arquivos raster, está produzindo resultados muito embaçados para arquivos PDF (baixo DPI upscaled).

    • 1

relate perguntas

  • páginas de arquivo pdf em variável

  • Mesclar comentários em PDF em um único arquivo

  • Metadados de PDF na coluna do explorador de arquivos

  • exportando man pages para postscript

  • Visualizar PDF como imagem no ranger

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve