2

Iamは、コンポーネントをフレックスで印刷するためにAlivePDFを使用しています。コンポーネントにはテキストと画像があり、動的に作成されます。これには、高解像度の画像とフォントスタイルが埋め込まれたテキストがあります。AlivePDFの出力テキストと画質は良くありません。テキストはぼやけて見え、画質は元の画像に見られるほど鮮明ではありません。

ページをimagestreamとして追加してみましたが、出力品質は同じです。

参考までに、以下のコードを貼り付けました。

var image:ImageSnapshot = ImageSnapshot.captureImage(
    templGroup.getChildAt(i),300,new mx.graphics.codec.JPEGEncoder());
printPDF.addImageStream(image.data,"",null,0,0);

生きているpdfからpdf出力画質を改善する方法があるかどうか教えてください。

前もって感謝します、

よろしく

スリーニ

4

2 に答える 2

2

JPEGEncoder には品質の引数があります。

于 2012-03-28T20:40:23.763 に答える
0

より高い解像度でキャプチャするには、次のコードを試してください。

function capture(source: DisplayObject, dpi:uint = 72, bgColor:Number = 0xFFFFFF): BitmapData
{
    var scale:Number = dpi/72.0;
    var bmd:BitmapData = new BitmapData(source.width * scale, source.height * scale, false, bgColor);
    var m: Matrix = new Matrix();
    m.scale(scale, scale);
    bmd.draw(source, m);
    return bmd;
}

次のように使用できます。

function addHighResSnapshot(pdf: PDF, snapshotObject: DisplayObject, imageRect: Rectangle, dpi: uint = 300): void
{
    var bitmapData: BitmapData = capture(snapshotObject, dpi);
    var encodedImage: ByteArray = new JPEGEncoder().encode(bitmapData);
    pdf.addImageStream(encodedImage, ColorSpace.DEVICE_RGB, null, 
        imageRect.x, imageRect.y, imageRect.width, imageRect.height);
}
于 2011-08-23T11:03:20.717 に答える