2011-06-24 3 views
4

C#でOpenXML sdkを使用して単語文書を開き、情報を追加すると疑問に思うのですが、ページ?OpenXML:とにかくWord文書が1ページに収まるかどうかを確認するには

特定のアイテムのフォントサイズを縮小することはできませんが、それが合うまで追加しました。

余白を付けたページサイズとの関係で現在のサイズがあれば、このアルゴリズムを書くことができます。

私はのために何を認識してないんだけど、私はそれはあなたのケースでうまくいくならば、それはオフィスPIAを必要とする、知っていない、別のサイトにこの例に出会っ
+1

あなたのためにこれを行うOpenXML SDKが既にありますが、あなたが言うように、それを行うことができます。単純なテキストだけではそれほど悪くない。画像や表があれば悪化する。しかし一般的なケースでは複雑です。 – JasonPlutext

+0

イメージはありませんが、これは主に表内の項目​​の可変数に基づいています。 –

答えて

1

...

var app = new Word.Application(); 
var doc = app.Documents.Open("path/to/file"); 
doc.Repaginate() 

var pageNumber = doc.BuiltInDocumentProperties("Number of Pages").Value as int; 
+0

ありがとうございます。 PIAが何を表しているのかはっきりしていませんが、実際には単語アプリを実行しなければならないと思われます。私は、OPenXml名前空間の 'Validate'オブジェクトを見て、何か類似したことができるかどうかを調べなければならないと考えています。 –

+1

ああ、申し訳ありません。 PIAはプライマリInteropアセンブリです。これらは、Officeアプリケーションの自動化を支援するためにMicrosoftによって提供されます。私はこのサイトがOpen XMLファイルをナビゲートし、ページノードを見つけるのに役立つと思います:http://rmanimaran.wordpress.com/2010/08/03/programatically-get-count-pagesslidessheet-in-microsoft-wordpowerpointexcel-2007/ –

+0

問題は、docProps/app.xmlはおそらくマイクロソフトのワードで生成され、C#でdocxを作成した場合は含まれていないということです。 –

関連する問題