3

私のアプリケーションでは、Open xml Sdk 2.0 を使用してカスタム レポートを Word ドキュメントにエクスポートする必要があります。

適切に表示するためにページサイズを大きくする必要があることを除いて、エクスポート機能は正常に機能します。(そうしないと、ワード ラップが問題になり、レポートの見栄えが悪くなります)。

レポートの幅に応じてページサイズを調整する方法を教えてください。

また、Word documet に合わせて別の助けが必要です。投稿へのリンクは、OpenXml Sdk 2.0 を使用した Word の水平テキスト配置です。

4

2 に答える 2

9

うーん..ついに答えが見つかりました..ページサイズを設定するためのC#コードを投稿します。

using Word = DocumentFormat.OpenXml.Wordprocessing;

WordprocessingDocument WordDoc = WordprocessingDocument.Create(SavePath, WordprocessingDocumentType.Document);
MainDocumentPart mainDocument = WordDoc.AddMainDocumentPart();
mainDocument.Document = new Word.Document();
Word.Body body = new Word.Body();

Word.SectionProperties SecPro = new Word.SectionProperties();
Word.PageSize PSize = new Word.PageSize();
PSize.Width = 15000;
PSize.Height = 11000;
SecPro.Append(PSize);
body.Append(SecPro);

body.Append(WordTable);
mainDocument.Document.Append(body);
mainDocument.Document.Save();
WordDoc.Close();

ルーベンスさん、返信ありがとうございます。しかし、私は PageSize について知っていました。どのように、どこに挿入するかを探していました。別の質問で指定した方法を使用して見つけました(アーカイブマネージャーを使用してWord文書を開くことにより)。

ここでの唯一の問題は、ピクセルと Twips の間の変換です (私の測定値はピクセル単位です) うーん、そのために何か他のことをしなければなりません.. (試行錯誤法を使用して、倍率 10 を見つけました。 Twips に変換します。これが正しいかどうかはわかりませんが、私には問題なく動作します。)

于 2009-11-25T15:49:55.300 に答える
3

PageSizeあなたは財産と一緒に行くべきです。twipsユニットとして使用する必要があることに注意してください。

于 2009-11-25T09:17:22.517 に答える