2

主催するイベントのマップを描画する Web アプリケーションがあります。データベースに保存されたデータを indesign に取得して、そこから編集および印刷できるようにしようとしています。

webversion マップは次のようになります。 ここに画像の説明を入力

このATMに使用しているコードは <Rectangle Self="u133" StrokeWeight="0.1" FillColor="Color/u13b" strokecolor="Color/white" ItemTransform="12 0 0 8 180 60">

フルバージョンはこちら: http://niews.holapress.com/plattegrond/xml/stands.php?hal=1これを idms として保存し、indesign に配置します。

その結果は次のようになります。 ここに画像の説明を入力

これは完璧ですが、すべてのボックス内に数字が必要であるという問題に直面しており、それを適切に機能させることができないようです。すべてのボックスにテキストを取得して中央に配置する方法を知っている人はいますか? ?

前もって感謝します、

4

1 に答える 1

3

残念ながら、ソリューションにはかなり多くのコードが必要になると思いますが、コードが適切にフォーマットされるように調整できることを願っています。最善の方法は、長方形を「テキスト フレーム」に変更して、テキストを含めることができるようにすることであり、長方形/テキスト フレームの境界に基づいてテキストを配置できるようにすることです。

段落スタイルの定義

最初に、これらの各ボックス内のテキストをどのようにフォーマットするか (フォント、サイズ、色など) について、「段落スタイル」(概念的には CSS に似ています) を宣言する必要があります。

<RootParagraphStyleGroup Self="myPara">
    <ParagraphStyle Self="ParagraphStyle/myParaStyle" Name="myParaStyle" FillColor="Color/Paper" PointSize="14" Justification="CenterAlign">
        <Properties>
            <AppliedFont type="string">Arial</AppliedFont>
        </Properties>
    </ParagraphStyle>
</RootParagraphStyleGroup>

ボックスを作成する

次に、すべてのフレームを宣言するだけでなく、このフレームに挿入されるテキスト (後で実際のテキストを定義します)の一種の ID をParentStory="[ストーリー ID]として宣言する必要があります。"

<Spread Self="sp1">
    <TextFrame Self="tf1" ParentStory="st1" ContentType="TextType" FillColor="Color/u13b" StrokeWeight="0" StrokeColor="Swatch/None" ItemTransform="1 0 0 1 0 0">
        <Properties>
            <PathGeometry>
                <GeometryPathType PathOpen="false">
                    <PathPointArray>
                        <PathPointType Anchor="0 0" LeftDirection="0 0" RightDirection="0 0" />
                        <PathPointType Anchor="0 50" LeftDirection="0 50" RightDirection="0 50" />
                        <PathPointType Anchor="150 50" LeftDirection="150 50" RightDirection="150 50" />
                        <PathPointType Anchor="150 0" LeftDirection="150 0" RightDirection="150 0" />
                    </PathPointArray>
                </GeometryPathType>
            </PathGeometry>
        </Properties>
        <TextFramePreference VerticalJustification="CenterAlign"></TextFramePreference>
    </TextFrame>
</Spread>

キーワードを使用して長方形のサイズを変更しているように見えますItemTransformが、フレーム内のテキストも変換する (文字が歪む) ため、これはお勧めしません。代わりに、単一の挿入ポイント (IDMS ファイルを InDesign ドキュメントに配置するときにクリックするポイント) に対する各ボックスの 4 つのコーナーの座標を指定して、各ボックスを定義する必要があります。上部を選択することをお勧めします。マップ全体の左端の隅に移動し、その位置に相対的な各テキスト フレームの座標を使用します。この場合、正の Y 値は挿入ポイントの下になります。参考までに、単位はデフォルトでポイントに設定されており、これは 1" = 72pts に変換されます。
また、Web バージョンにはさまざまな色があることにも気付きました。開始タグの直後に色の定義を追加し、要素の[色名]部分にDocument適切な色の名前を割り当てることで、ここでそれらを適用できます。 タグの間に必要な数の要素を追加し、 を閉じた後、各フレームに入るテキストの定義を開始します。FillColor=""TextFrame
TextFrameSpread/Spread

ボックスにテキストを追加する

上記の s内で割り当てたものと一致するようにStory Self="[ストーリー ID]を割り当てて、各「ストーリー」を識別してください。"ParentStoryTextFrame

<Story Self="st1">
    <ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/myParaStyle">
        <Content>1st Text Box</Content>
    </ParagraphStyleRange>
</Story>

すべてのストーリーが終了したら、 でドキュメントを閉じることができます/Document

サンプル

それぞれ独自のテキストを持つ 3 つの異なるフレームを含む完全なファイル サンプルは、この pastebinのようになります。
インポートされた IDML のサンプル

于 2013-09-12T19:36:03.637 に答える