3

私が得ることができた最も近いものは、このコードを使用することです

<cfset Background = ImageNew("",1725,2625)>
<cfimage source="#APPLICATION.config.serverpath#/ad1.tif" name="ad1">
<cfset height1   = ImageGetHeight(ad1)> 
<cfset width1    = ImageGetWidth(ad1)>
<cfset resImage1 = ImageCopy(ad1,0,0, width1, height1)> 
<cfset ImagePaste(Background,resImage1,150,150)>

<cfdocument format="pdf" pagetype="custom" pagewidth="5.75" pageheight="8.75" fontembed="no" name="temp" margintop="0" marginbottom="0" marginleft="0" marginright="0">
<div style="position:absolute; top:0; left:0; right:0; bottom:0; z-index:0;width:100%;height:100%;">
<cfimage action="writeToBrowser" source="#Background#" style="width:1740px; height: 2650px;">
</cfdocument> 

これにより、TIF 画像の正確な複製に非常に近づくことができますが、何らかの理由で画像の幅が 5 ピクセルほど縮小されており、その理由がわかりません。

もう少し詳しく: ad1.tif 画像は 1425x1125 で、生成される最終的な PDF ドキュメントは 1725x2625 です。ご覧のとおり、cfdocument では 5.75 x 8.75 インチを使用しています。これは、300DPI である PDF ドキュメントに変換されます。Photoshop で PDF ドキュメントを読み込むと、ドキュメントが 300DPI であると表示されます。

ImageNew は 1725x2625 を使用し、cfimage は 1740x2625 を使用することに気付くかもしれません。cfimage の寸法を imagenew に一致させた場合 (これは完全に理にかなっています)、上、右、下にこの白い境界線が表示されます。画像の幅はまだ 5 ピクセルほどずれています。そのため、その白い境界線を取り除くために、少し大きくする必要があります。その画像が5ピクセルずれている理由を理解できれば。

4

1 に答える 1

0

明らかに、元の質問には回答がありましたが、画像の解像度の問題については、タグに追加scale="100"してみてください。cfdocumentこれにより、画像の縮小が妨げられる場合があります (これは、解像度を下げることと同じことです)。試していないので、うまくいくかどうかはわかりません。

余談ですが、人々が回答ではなくコメントで質問に答え続ける理由がわかりません。

于 2014-04-03T01:06:42.713 に答える