Quero criar uma foto captcha usando o convert
ImageMagick.
E eu sigo isso , mas há algum problema.
Entrada No meu shell linux:
convert -background white -fill black -font FreeSerif-Bold -pointsize 36 label:'adfgh' ./test.png
O erro é:
converter: não autorizado
adfgh
@ erro / constitui.c / ReadImage / 453. convert: falta um nome de arquivo de imagem./test.png
@ error / convert.c / ConvertImageCommand / 3015
My ImageMagick: Versão: 6.7.2-7, eu instalo-o com yum install ImageMagick
.
Eu não tenho noção. Algum conselho por favor?
imagemagick
imagemagick-convert
jianwei
fonte
fonte
policy.xml
. As opções de segurança podem impedir olabel:
protocolo.Respostas:
Eu uso o ImageMagick no php (v.7.1) para cortar arquivos PDF em imagens.
Primeiro eu recebi erros como:
Após algumas alterações
/etc/ImageMagick-6/policy.xml
, começo a receber erros como:Minha correção :
Em arquivo
/etc/ImageMagick-6/policy.xml
(ou/etc/ImageMagick/policy.xml
)linha de comentário
mudar de linha
para
adicionar linha
Em seguida, reinicie o servidor da web (nginx, apache).
fonte
policy.xml
arquivo foi atualizado pela última vez em 29 de setembro, mas os problemas surgem hoje. Estou usando o servidor ubuntu 14.04.5, mas configure a atualização automática. No log do apt, descobri esta atualização:imagemagick-common:amd64 (6.7.7.10-6ubuntu3.12, 6.7.7.10-6ubuntu3.13),
Eu uso muitas vezes o
convert
comando ImageMagic para converter*.tif
arquivos em*.pdf
arquivos.Não sei por que, mas hoje comecei a receber o seguinte erro:
Após emitir o comando:
Depois de ler as respostas acima, editei o arquivo
/etc/ImageMagick-6/policy.xml
e mudou a linha:
para
e agora tudo funciona bem.
Eu tenho "ImageMagick 6.8.9-9 Q16 x86_64 2018-09-28" no "Ubuntu 16.04.5 LTS".
fonte
convert
no PDF.Se você ainda está aqui, está tentando editar imagens sobre as quais tem controle total, sabe que são seguras e não podem ser editadas pelos usuários.
Há um
/etc/ImageMagick/policy.xml
arquivo que é instalado pelo yum. Ele proíbe quase tudo (por segurança e para proteger seu sistema contra sobrecarga com chamadas do ImageMagick).Se você estiver recebendo um
ReadImage
erro como acima, poderá alterar a linha para:o que deve corrigir o problema.
O arquivo tem um monte de documentação, então você deve ler isso. Por exemplo, se você precisar de mais permissões, poderá combiná-las como:
... que é preferível a remover todas as verificações de permissão (ou seja, excluir ou comentar a linha).
fonte
poppler
é uma alternativa para GhostScript (queconvert
depende de páginas PDF rasterize para imagens)Se alguém precisar fazer isso com um comando após a instalação, execute isso!
fonte
sed -i 's/\(<policy domain="coder" rights=\)"none" \(pattern="PDF" \/>\)/\1"read|write"\2/g' /etc/ImageMagick-6/policy.xml
sudo sed -i '/PDF/s/none/read|write/' /etc/ImageMagick-6/policy.xml
A resposta com os votos mais altos (não tenho reputação suficiente para adicionar comentários) sugere comentar a linha MVG, mas lembre-se disso:
E
Fonte
fonte
$convert --version Version: ImageMagick 6.7.7-10 2018-09-28 Q16 http://www.imagemagick.org
Após uma atualização recente no meu sistema Ubuntu 16.04, também comecei a receber esse erro ao tentar executar a conversão em arquivos .ps para convertê-los em pdfs.
Essa correção funcionou para mim:
Em uma execução de terminal:
Isso deve abrir o arquivo policy.xml no editor de texto gedit. Caso contrário, a magia da sua imagem poderá ser instalada em um local diferente. Então mude
para
para linhas PDF, EPS e PS perto da parte inferior do arquivo. Salve e saia, e a imagem magick deve funcionar novamente.
fonte
Apenas exclua o arquivo /etc/ImageMagick/policy.xml.
fonte
policy-disabled.xml
. Acho que vou restaurá-la até que eu estou certo de que as questões de segurança são abordadosDepois de ler várias sugestões aqui e combinar as idéias, foram necessárias as seguintes alterações no /etc/ImageMagick-6/policy.xml:
... rights = "none" não ajudou. ... pattern = "LABEL" não era necessário. Embora eu não trabalhe com grandes arquivos png (apenas ~ 1 Mb), algumas alterações nos limites de memória também foram necessárias:
(em vez de 256Mib) e
(em vez de 128 MB)
fonte
Eu tive esse erro ao tentar converter um pdf em jpg e resolvi-o usando este método: sudo vi /etc/ImageMagick*/policy.xml
mudança:
domínio da política = "codificador" direitos = "nenhum" padrão = "PDF"
para:
policy domain = "coder" rights = "leitura | gravação" pattern = "PDF"
Fonte: http://realtechtalk.com/ImageMagick_Convert_PDF_Not_Authorized-2217-articles
fonte
Se você não precisar manipular arquivos rasterizados e PDF / PS / EPS através da mesma ferramenta, não afrouxe a segurança do ImageMagick.
Em vez disso, mantenha sua defesa em profundidade para seus aplicativos Web intactos, verifique se o seu Ghostscript foi corrigido para todas as
-dSAFER
vulnerabilidades conhecidas e, em seguida, invoque-o diretamente.-dSAFER
desabilita você do modo de compatibilidade de legado ". Execute o Postscript com permissão total para interagir com o mundo exterior como uma linguagem de programação completa".-r300
define o DPI desejado para 300 (o padrão é 72)-sDEVICE
especifica o formato de saída (consulte a seção Dispositivos do manual para outras opções.)-o
é uma abreviação de-dBATCH -dNOPAUSE -sOutputFile=
Se você estiver renderizando arquivos EPS, adicione-os
-dEPSCrop
para que não atendam ao tamanho da página e usem-sDEVICE=pngalpha
para obter fundos transparentes.fonte
-r600 -dDownScaleFactor=4
para criar um arquivo com 150 dpi, mas melhor anti-aliasing.Eu também tive o erro
error/constitute.c/ReadImage/453
ao tentar converter um eps em um gif com imagem mágica. Tentei a solução proposta pelo sNICkerssss, mas ainda tinha erros (embora diferentes do primeiro) eerror/constitute.c/ReadImage/412
O que resolveu o problema foi colocarread
em outras entradasfonte