3

サーバーからTIFFファイルを表すバイト配列を取得し、それをXImageに変換してから、新しいpdfドキュメントに追加しています。問題の画像は1280x800(スクリーンショットでした)であり、標準のPDFページの高さと幅に合うように引き伸ばされて長くなっています。これを修正するにはどうすればよいですか?

http://i53.tinypic.com/24qq1ch.png

4

4 に答える 4

1

これを試して:

    doc.MediaBox.String = img.BoundingBox.String;
    doc.Rect.String = doc.MediaBox.String;

どこdoc is Docimg is XImage

于 2013-12-17T09:32:04.153 に答える
0

あなたが抱えている特定の問題は、プリンタがポートレートに設定されていることによるものです。

PDFオブジェクトであるため、必要な画像サイズを模倣したページをエミュレートする必要がある場合があります。

元のドキュメントを画像に送信してTIFFファイルを追加した方がよい場合があります。

于 2011-04-25T18:49:19.307 に答える
0

PDF ページの作成方法によって異なります。おそらくやりたいことは、作成しているPDFページがデフォルトでレターサイズのページではなく、画像と同じ縦横比であることを確認することです.

PDF ページの作成方法が指定されていないため、具体的にお手伝いすることはできません。しかし、一般的に、PDF ページは 1/72 インチの単位です。次のように適切なサイズのページを計算できます。

const kPdfPageUnitSize = 72f;

float GetPdfSize(int nPixels, float dotsPerInch) {
    return (nPixels / dotsPerInch) * kPdfPageUnitSize;
}


// later
float pdfwidth = GetPdfSize(image.Width, image.Resolution.X); // or however you have this
float pdfheight = GetPdfSize(image.Height, image.Resolution.Y);
于 2011-04-26T13:59:30.897 に答える
0

ご覧のとおり、画像の縮尺係数が正しくありません。画像の高さと画像の幅を 1,33(3) (つまり 96f/72f ) で分割する必要があります。

デフォルトの PDF ユーザー単位は 1⁄72 インチであるため、画像の DPI はオリジナルと比例する必要があります。

于 2013-06-26T04:10:16.453 に答える