4

idml から html へのコンバーターを実装しようとしています。indesign エクスポートによって作成されたものと同様の単一のフラット html ファイルを作成することができました。

私がやりたいのは、html idml ビューアーのような indesign ビューにできるだけ似た html を生成することです。これを行うには、テキストフレームに収まるテキストを見つける必要があります。ストーリーのテキスト コンテンツを抽出できますが、このコンテンツをフレーム/ページに分割する方法が実際には見つかりません。

それを達成する方法はありますか?

4

2 に答える 2

5

ストーリーからテキストを抽出するだけでは十分ではありません。テキストのレイアウト方法はドキュメント内で制御さTextFramesSpreadます。各フレームには、どのストーリーからテキストをロードするかを示す属性があり、各フレームにはレイアウトを決定する寸法がありますTextFrameParentStoryスレッド化されていないテキスト フレーム (つまり、1 つのストーリー <> 1 つのフレーム) の場合は、これで十分です。

ねじ付きフレームの場合、PreviousTextFrameおよびNextTextFrameアトリビュートを使用してチェーンを作成する必要があります。IDML には、スレッド化されたチェーンの各フレームに収まるテキストの量を示すものは何もありません。計算されたテキストの寸法に基づいて (または力ずくの試行錯誤を使用して) 自分で計算を行う必要があります。

メインの designmap.xml でスプレッドを見つけることができます。

<idPkg:Spread src="Spreads/Spread_udd.xml" />

また、スプレッドには 1 つ以上の TextFrame ノードが含まれます。

<Spread Self="udd" ...>
    <TextFrame Self="uf7" ParentStory="ue5" PreviousTextFrame="n" NextTextFrame="n" ContentType="TextType">...</>
    ...
</Spread>

これは、特定のストーリーにリンクします。

<Story Self="ue5" AppliedTOCStyle="n" TrackChanges="false" StoryTitle="$ID/" AppliedNamedGrid="n">...</>

(この例では、フレームはスレッド化されていないため、'n'値.

これはすべて、IDML ドキュメントに記載されています。これは、他の InDesign 開発者向けドキュメントで見つけることができます: http://www.adobe.com/devnet/indesign/documentation.html

于 2012-11-05T11:13:56.800 に答える
2

Microsoft と Adob​​e は、Regions という名前の css 用の新しいモジュールを提案しました。これにより、複数のコンテナーにフロー テクストを実行できます。Indesign ドキュメントとまったく同じように見える html ページを作成することは決してできないことに注意してください。

http://www.w3.org/TR/css3-regions/

今のところ、IE10 と Webkit nightly のみがサポートしています: http://caniuse.com/#feat=css-regions

于 2013-01-01T14:15:21.750 に答える