簡體   English   中英

Imagemagick如何將具有透明度的PDF轉換為PNG

[英]Imagemagick How to Convert PDF with transparency to PNG

我有一個項目,該項目可打印PDF。 然后,我將其轉換為PNG以顯示回客戶端,但是PNG並未保留PDF中的透明度。 我通過在Photoshop中打開PDF進行了檢查,並且存在透明度,但是它沒有將這些數據轉換為PNG。

我使用的PDF位於: http : //mattodesigns.com/PDFs/PNG/testing2.pdf

我正在運行轉換的頁面位於: http : //mattodesigns.com/PDFs/PNG/pdf2png.html

我用來將PDF轉換為PNG的PHP代碼是:

<?php
$source = 'http://mattodesigns.com/PDFs/PNG/testing2.pdf';
$target = 'testing2.png';

//PNG preview for front
$imagefront = new Imagick();
$imagefront->setResolution( 150, 150 );
$imagefront->readimage($source);
$imagefront->setImageFormat( "PNG32" );
$imagefront->writeImage($target);
?>

這是行不通的,並且不確定如何保持PDF的透明性。我一直在尋找一個不是通過命令行的解決方案,也一直無法找到解決方案。 我也一直在嘗試Imagemagick設置的各種組合,但是沒有運氣。

如果需要遮罩,則可以這樣做,但如果不需要,則不要這樣做,因為所有數據都在PDF本身中。

對於那些有相同問題的人,我最終按照以下主題的答案使用了GhostScript: http : //www.imagemagick.org/discourse-server/viewtopic.php? f=1&t=14546&start =15

exec("gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pngalpha -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r300 -dFirstPage=1 -dLastPage=1 -sOutputFile=output.png input.pdf");

看起來ImageMagick在處理半透明的PNG時遇到問題,GhostScript的結果要好得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM