2016-09-26 7 views
0

この質問はこのquestionと関連しています(以下から)。Wordで自分の図形の後に空白行があるのはなぜですか?

データベースのデータからWord文書を動的に生成しています。世代では、セクションの最初のページに、セクションの他のページとは異なる上マージンが必要です。正式に説明するには時間がかかりすぎるので、別の上余白を持つ新しいセクションを作成することはできません。

私の問題を回避するために、境界線がなく、マージンが必要な高さである塗りつぶし(不可視)のない形(矩形)を作成すると考えました。私はそれを絶対に(0,0)に置きます。また、wrapTopAndBottomにして、ページの本文のテキストを押し下げるようにします。 1つの小さな問題を除いて、これは動作しています。

enter image description here

あなたは私の形状直後の大、空白領域がある見ることができるように。そこには実際の空白行があります。私はこれらの行にテキストを置いたこのイメージの方が良い行を見ることができます。

enter image description here

私はWordのアーカイブのヘッダxmlファイルを見て、これらの行は存在しません。彼らがどこから来ているのか、どうやってそれらを取り除くのかは分かりません。 Wordを使用して手動で削除することはできますが、ファイルを再生成するたびにそこに戻されます。なぜこれが起こっているのか、それを回避する方法が誰かが分かっているなら、助けていただければ幸いです。

ありがとうございました。

+1

何が起こっているのかをスクリーンショットで伝えるのは難しいです。これらのドキュメントを生成するコードを共有できますか(小さな再現可能なサンプルを作成してください)、またはWordドキュメントへのリンクを追加できますか?一般に、Wordで目的のレイアウト/書式設定でドキュメントを作成し、Open XML SDKに含まれているドキュメントリフレクタを使用して、そのドキュメントを生成するC#コードを生成すると非常に役に立ちます。 –

答えて

0

私はこれを最終的に考え出しました。

申し訳ありませんが、ここにコードを投稿できませんでした。まず、私はC#を使用していない、私はPHPを使用しています。次に、ヘッダーの作成方法を示すために投稿しなければならないコードの量は、このようなフォーラムでは禁止されています。第三に、私は実際にここに会社のコードを掲載することは許されていない。

どのような場合でも、問題は一度見たら簡単でした。私たちはヘッダーの中に複数の絶対的に配置されたオブジェクト(図形、テキスト、画像、その他)を配置しています。これらのオブジェクトを作成するクラスでは、それぞれが<w:p>要素内に配置されていました。たとえば、そのようなオブジェクトが3つあった場合、XMLは次のようになります。

<hdr> 
    <p>Some Object</p> 
    <p>Some Object</p> 
    <p>Some Object</p> 
</hdr> 

問題が<p>内のオブジェクトの各々は、絶対配置されていても、<p>素子自体がそのラインのライン・アンド・スペースを作成することです。したがって、上記のヘッダーには3つの空白行があります。これは、ヘッダーに6または7個のオブジェクトがある場合に問題になりました。なぜなら、空白行はヘッダーの余白を押し下げてページの内容を強制的に押し下げるからです。これは望ましくない動作でした。

解決策は簡単です。すべての絶対配置されたオブジェクトは、同じ<p>要素に配置できます。これはあなたが持っているオブジェクトの数にかかわらずヘッダーに空白行を1つだけ残します。

関連する問題