タグ別アーカイブ: XSL-FO

page2018に出展します

「page2018」に出展します!!

2/7(水)から2/9(金)に開催される「page2018」に今年も出展します。
「page展」は、公益社団法人日本印刷技術協会が主催する印刷メディアビジネスの総合イベントです。
31回目となる今年は「アライアンスNEXT」をテーマに開催されます。
アンテナハウスは、JATS、DITAなど多言語・大容量のドキュメントの自動組版のご説明と、昨年末にリリースされたAH Formatter V6.5のデモ説明を行います。
AH Formatter V6.5はアクセシビリティのPDF/UA出力にも対応した、多言語・大容量組版に適した自動組版エンジンです。
実際にAHFoematterで組版をした事例Sampleもご覧いただけます。
そのほかにも、PDFなど各種データの変換ツールなどデータの再利用に役立つツールをご紹介いたします。

今回は、昨年に引き続き文化会館4Fの展示ホールBになります。
小さいテーブルブースですが、ご来場の際は受付後4Fまでお越しください。
下記お問い合せ先へご連絡いただければ無償の招待券をお送りいたします。

是非、ご来場賜りますようよろしくお願いいたします。

  • 「page2018」詳細
    http://www.page.jagat.or.jp/
  • 会期:2018/2/7(水)~2018/2/9(金)
  • 場所:池袋サンシャインコンベンションセンター
  • ブース:展示ホールB(文化会館4F)

お問い合せ先
アンテナハウス(株)S1システム営業グループ
sis@antenna.co.jp


AH Formatter:PDFから複数行のテキストをコピペしたときに、不要な改行を避けるには。

こんにちは
AH Formatter』サポート担当です。

『AH Formatter』で作成した PDF をビューアで表示して、
テキストをコピー&テキストエディタなどにペースト(以下コピペ)した時に
改行が入ってしまうというお問い合わせをいただくことがあります。

具体的には、
 <fo:block>AH Formatterはアンテナハウス株式会社の製品です。</fo:block>
 <fo:block>最新版は弊社Webサイトからダウンロードできます。</fo:block>

これを組版した結果が以下のような場合
 組版結果
ここを Adobe Acrobat や Adobe Reader からコピペすると
次のようになります。

 AH Formatterはアンテナハウス株式会社
 の製品です。
 最新版は弊社Webサイトからダウンロー
 ドできます。

このように見た目のまま、改行されてしまっていますね。

データ中に改行コードが挿入されているわけではないので
この結果は PDFビューアに依存します。
別の PDFビューアでは

 AH Formatterはアンテナハウス株式会社 の製品です。 最新版は弊社Webサイトからダウンロー ドできます。

こんな風にひとつの連続したテキストでコピペされる場合もあります。
(改行位置に空白が入っています。)

では、”コピペした時に改行されないようにしたい” 場合はどうすればよいのでしょう。

PDFビューアに依存するので一概には言えないのですが
Adobe Acrobat や Adobe Reader の場合には
『AH Formatter』から “タグ付きPDF” として出力すると
次のようにコピペできます。

 AH Formatterはアンテナハウス株式会社の製品です。
 最新版は弊社Webサイトからダウンロードできます。

こうすれば、元のテキストデータと同じように連続したテキストとしてコピペできます。
ただし、ひとつ注意することがあります。
例えば、下記のような場合です。

<fo:block linefeed-treatment=”preserve” >
 XfoObj axfo = null;
 try {
 axfo = new XfoObj();
 ErrDump eDump = new ErrDump();
 axfo.setMessageListener(eDump);
 axfo.setDocumentURI(args[0]);
 axfo.setOutputFilePath(args[1]);
 axfo.setExitLevel(4);
 axfo.execute();
 }
</fo:block>

マニュアルのソースコード説明などでよくあるケースですが、
ひとつの fo:block にまとめて記述して、
linefeed-treatment=”preserve” で改行コードを有効にした場合です。

AH Formatterでの組版結果は以下のようになります。
 組版結果

このような場合、タグ付けしていない PDF では見た目のまま改行してコピペされますが
タグ付きPDF として出力してコピペすると
fo:block内のテキストはひとつの連続したテキストになってしまいます。
したがって、1行ずつ fo:block で分割する必要があります。

 


セミナーのご案内:Formatter Club 2017 -冬-

今週末、2017年12月8日(金) 14:00~18:30 に、中央区月島区民館にて「Formatter Club セミナー」(無料)を開催いたします。

今回の内容も次のように盛りだくさんになっております。

・『デジタル書籍制作Webサービス CAS-UB』の新機能紹介

・『AH Formatter V6.5』の新機能紹介

『AH Formatter』の活用事例として、
・株式会社ウイング様による「ドキュメント出力管理システム(OPALUS)」のご紹介
・株式会社ニューキャスト様による「編集・制作の環境改善を実現する AH Formatter の活用事例」のご紹介

・『AH PDFXML変換ライブラリ』の利用例のご紹介

・DITA入門

まだお申し込み可能ですので、セミナーへご参加を希望される方は、http://www.kokuchpro.com/event/AH_winter/ からお申し込みください。詳細もそちらに記載しております。

 


AH Formatter 機能のご紹介:リッチメディア注釈

AH Formatter』では、V6.5 よりマルチメディアをリッチメディア注釈として埋め込み可能になりました。
リッチメディア(オンラインマニュアル)

『AH Formatter』のサンプルFO集には、本機能の動作が確認できるサンプル「リッチメディア注釈」を掲載しております。

本機能を用いて PDF を作成することで、閲覧時に外部のプレイヤなどを必要とせずにマルチメディアの再生が可能になります。そのため、配布される PDF に動画などを埋め込んだ場合に、配布先での閲覧がスムーズに行えることが期待できます。

『AH Formatter』は主にバージョンアップのたびに機能強化や新機能の追加を行っています。
“あったら便利な機能” も既に追加されていることがございますので、どうぞお気軽にサポートにお問い合わせください。
未実装の機能であれば、ご要望として承り今後の開発の参考にさせていただきます。

今回ご紹介した「リッチメディア注釈」も海外のお客様の要望を受けて開発に至りました。

『AH Formatter』の評価版は次のページよりお申し込みいただけます。ご興味のある方は是非お試しください。
AH Formatter 評価版のお申し込み

なお、弊社は AH Formatter の自動組版だけではなく、
Office文書から PDF への変換、
それとは逆に PDF から Office文書への変換、
PDF の編集や加工なども得意としております。
ご案内に向けた Webページ「製品ナビゲータ」をご用意しておりますので、こちらも是非ご覧ください。
製品ナビゲータ

 


focheck を使って XSL-FO のマークアップの妥当性を検証する

海外営業担当です。
本日は弊社アイルランドの社員 Tony Graham が開発しました focheck についてご紹介させていただきます。oXygen XML Editor をお使いの方必見です。最後までお読みいただくと focheck の使い方がわかります。ぜひお使いになってください。

XSL-FO を oXygen XML Editor でチェック

XSL-FO は、まずフォーマットオブジェクトとそのプロパティを表すために設計されました。 スキーマに準拠するようには設計されておらず、検証技術を考慮して設計されていませんでした。 その結果、XSL-FO ドキュメントの正当性をチェックする最良の方法は、AH Formatter でフォーマットしてログファイルを確認することでした。
Antenna House の focheck フレームワーク は、oXygen XML Editor を使用中に、Antenna House 拡張機能も含め、XSL-FO ファイルをチェックして修正することをついに可能としました。

フォーマッティングオブジェクトの構造

それぞれの FO に含めることができるものを定義する XSL 1.1 勧告 のコンテンツモデルは、単純です。 しかし、勧告にある記述は、しばしばコンテンツモデルに含まれない FO をも許容しています。
fo:marker はコンテンツモデルには表示されませんが、ほとんどの(ただしすべてではありません)FO の最初の子として使用が可能です。

1-focheck-marker.png
fo:change-bar-begin と fo:change-bar-end は、コンテンツモデルには表示されませんが、ほぼどこでも許可される、 地点を定義する  FO です。

2-focheck-change-bar-begin.png

fo:change-bar-begin と fo:change-bar-end には、スキーマで表現できないプロパティの制約もあります。
XSL 1.1 には、一部のFOが特定のタイプのFOの祖先または子孫として許可されないという制約も更に含まれています。 たとえば、fo:footnote は子孫として別の fo:footnote を持つことはできません。 明らかに、fo:footnote の祖先を持つこともできません。

3-focheck-footnote.png

プロパティ値

各 XSL-FO プロパティで許可されるタイプは、XSL 1.1 勧告で定義されています。 ただし、XSL-FO ファイルのプロパティ値は、必ずしも単一の値であるとは限りません。 ほとんどのプロパティは、 ‘2pt + 6em’ のような式にすることもできます。 AH Formatter は  ‘2pt + 6em’ を評価してから結果が正しいかどうかを判断する必要があります。 focheck は、AH Formatter のように、式を解析するパーサーを含んでいます。 focheck はプロパティ値の式を評価し、結果のタイプをチェックします。 ‘ from-table-column()’ などの XSL 1.1 で定義されているすべての関数名や Antenna House 拡張機能を認識し、パラメータをチェックしますが、まだ関数を評価していません。 AH Formatter とは異なり、focheck は、 ‘font-family’ や  ‘border’ など、異なる構文を使用するプロパティを一部解析しません。

4-focheck-property.png

警告を追加

focheck は、エラーではない条件についても警告することができるので、AH Formatter には問題はありませんが、おそらく意図したものではありません。 たとえば、fo:flow または fo:static-content に非標準の  ‘flow-name’ 値があり、 ‘region-name’ の値が一致するページ領域がない場合は、エラーではありません。fo:flow または fo:static-content は単に使用されないだけです。 これは設計によってというよりも偶発的に発生する可能性が高いため、focheck はこれらの不一致と、決して使用されない ‘region-name’ の値について警告します。

5-focheck-flow-name.png

XSL-FO のリストは、’provisional-label-separation’ と ‘provisional-distance-between-starts’ プロパティをfo:list-blockに設定し、なおかつ 各 fo:list-item-label  に ’end-indent’ を、各 fo:list-item-body に ’start-indent’ を設定してリスト項目のラベルと本文との間隔を指定します。 これらのいずれかが見つからない場合は、エラーにはなりません。 AH Formatter は、XSL 1.1 勧告に従って、各プロパティに対して継承または初期値を使用します。 しかし、これはおそらく期待したものではないので、プロパティのいずれかが見つからないときに focheck が警告します。

6-focheck-list.png

オーサリングのサポート

XSL-FO は手作業で作成することを目的としたものではありません。 ほとんどの人は XSLT を使用して XSL-FO を生成しています。開発者以外や、サポートスタッフあるいは AH Formatter をテストまたは文書化している人以外に手作業で XSL-FO をオーサリングする必要のある人はほとんどいません。 ほとんどの人にとって、XSL-FO をオーサリングする唯一の理由は、後で XSLT 変換の出力として自動的に生成されるものを試作することです。

XSL-FO をオーサリングする必要がある場合、focheck は、現時点で許可されている FO またはプロパティのリストを提供してくれるので、役に立ちます。

7-focheck-structure-editing.png

また、FO 又はプロパティを説明するポップアップツールチップを表示することもできます。

8-focheck-tool-tip.png

また、focheck では問題の報告だけでなく、XSL-FO の一般的な問題をいくつか修正する「クイック修正」も行うことができるようになっています。例えば、上記のような警告があれば、クイック修正をします。

focheck を入手する

focheck は、2015年にリリースされた oXygen 17 以降の oXygen XML Editor にバンドルされています。ただし、oXygen の focheck バージョンは 2015 年以降に更新されていません。最新の focheck バージョンを入手して、 oXygen アドオンとして focheck をインストールすることができます。
GitHub から focheck をインストールするには:

  1.  [ヘルプ] メニューから [新しいアドオンをインストールする] を選択します。 9-focheck-help-new-add-on-install.png
  2. アドオンの場所にhttps://github.com/AntennaHouse/focheck/raw/master/add-on-ja.xml を入力し、「focheck」を選択してインストールを続行します。10-focheck-new-add-on-install.png

仕組みの説明

focheck は、RELAX NG スキーマと Schematron を oXygen フレームワークに同梱しています。 RELAX NG スキーマは、FO の構造に関する規則の大部分、およびプロパティがどの FO に適用されるかの規則を提供しています。 Schematron は、プロパティ値の解析など、RELAX NG で表現できない制約をチェックします。 パーサーは、XSLT として実装され、それは REx パーサジェネレータによる言語構文用の EBNF のバージョンから生成しています。
正確度を保証するために、RELAX NG、Schematron for XSL 1.1 FO およびプロパティの大部分は、XSL 1.1 勧告の XML バージョンにある XSLT を実行することによって自動的に生成します。

ライセンス

focheck はオープンソースであり、Apache License、Version 2.0 の元、ライセンス許容されています。

アンテナハウス海外サイト
http://www.antennahouse.com/
http://rainbowpdf.com/

AH Formatter関連ページ:focheck(oXygen アドオン) – XSL-FO と AH Formatter 拡張仕様のバリデータ


「Formatter Club セミナー2017冬」開催 緊急予告!

ご無沙汰をしています。Formatter Clubセミナー事務局です。

大盛況のうちに終えることができた7月7日のセミナーを自画自賛したきり、3ヶ月間の惰眠を貪っておりました。
この間、AH Formatter V6.5が公開され、前回のセミナーで予告した開催時期の11月も迫って来たということで、生存確認も併せて、次回「Formatter Club セミナー2017冬(仮称)」の予告をさせていただきます。

既に、Formatter Clubの会員の皆様にはご案内をしていますが、12月のお忙しい時期と重なりますので(11月開催ではなかったのかとの突っ込みについては、また別の機会にご説明を差し上げます)、取りあえずご予定だけでも押さえていただければと思います。

==============================================================
□ AH Formatterユーザーのための事例紹介セミナー「Formatter Club セミナー2017冬(仮称)」を開催致します。

■ 開催日:12/8(金)午後
■ 会場:未定(東京都内)10月下旬確定予定
■ 講演内容

  • AH Formatter V6.5製品案内とお役立ち機能紹介
  • 事例紹介
    株式会社ウイング様:ドキュメント出力管理システム
    株式会社ニューキャスト様:新規事例
  • AH Formatter周辺事情:内容未定
  • XML関連製品案内
    CAS-UB:新バージョン機能紹介
    AHPDFXML:(私達が考えた)お薦め利用法ご紹介

※講演内容については変更の可能性もありますことをご了承願います。

会場、日程等の詳細については、改めてご案内をさせていただきます。
==============================================================

なお、講演向けの導入事例紹介については、引き続き募集をしております。
是非とも「AH Formatter」を使った事例を公開したい、「AH Formatter」を組み込んだオリジナルアプリの発表の場にしたい、という方がいらっしゃれば、ご連絡をいただけますでしょうか。

また、「講演の時間は取れないが」と言う方は、AH Formatterの導入事例 でご紹介をさせていただきます。
如何に困難を克服したかなどのトピックがあれば、同様の課題を抱えている方の参考になると考えています。

今後も「AH Formatter」を導入されているユーザーや、関心を持っていただいている皆様と開発者とを繋ぎ、会員同士の交流、情報交換により製品の利用技術を向上させ、より皆様のお役に立てる製品としていくために努めてまいります。

次回「Formatter Clubセミナー2017冬(仮称)」も、乞うご期待!

「Formatter Club」へ参加ご希望の方は、紹介サイト より、参加申込書用 PDF をダウンロードしていただき、ご記入の上メールもしくは FAX でお申し込みください。
メールアドレス:naganawa@antenna.co.jp または nukaga@antenna.co.jp(Fomatter Club 事務局担当)
FAX 番号:03-5829-9024
また、「Formatter Club」へご要望も、同様の連絡先宛にお願い致します。


[XSL-FO] side-float 使ったリストの謎

こんにちは。
AH Formatterサポート担当です。
ドラクエがまだ終わりませーん。
やり込み要素は全部クリアしないと気が済まないタイプです。
最強装備全て揃えるまで頑張ります。
えと、ドラクエも FF も初代からリアルタイムでやっております。
(あっ、年がばれる)
3DS のすれ違い通信機能、田舎なんで誰にも会いません。。。車移動だし。

少し前のブログで、AH Formatter(XSL Formatter)の発売当初から携わっているというお話を
書かせていただきましたが、
xx年もやっております間に、
国内/海外のたくさんのお客様の XSL-FO を見てきました。
こちらが勉強になるようなテクニックもたくさんありました。

そんな中でひとつ、ずーーーーっと疑問に思っていることがあるのです。
それは、リストを fo:float で実装されるケースが度々あること。

簡単に書くと、こんな感じ。

 <fo:block><fo:float float=”start”><fo:block>1.</fo:block></fo:float>リスト項目の内容です。</fo:block>

実際にはもう少し複雑だったりしますが。

自分で XSL-FO(XSLTスタイルシート)を書いてもリストに fo:float を使ったことはありませんし、
念のため、弊社の XSLT開発の者に聞いてみたんですが、そういう方法は使わない、とのこと。
まぁ、リストは fo:list-block で書くもんだと思ってるからかもしれませんけど。

特定の会社のマニュアルのみとかですと、そういう方針?なのかな?と思ったりしたのですが、
別々のお客様で同じような手法を使われていることがちょくちょくあったりするのです。
これって、どうしてなんでしょう。
どこかにお手本あったりしたんでしょうか?
しかも、日本国内のみで、海外ではまず見たことありません。

XSL-FO のfo:list-block、難しいですか?めんどくさいですか?

リストの構造

うん、めんどくさいかも。。。。

もしこのブログを見たお客様で、
こんな理由で float 使ってるよと教えてくださる方、
いらっしゃいませんでしょうか。

■XSL-FOの仕様紹介:『XSL-FO の基礎 第2版 – XML を組版するためのレイアウト仕様』(クリックで紹介文章へ)


[XSL-FO] margin-top と space-before

こんにちは。
AH Formatterサポート担当です。
先日、私たちが暮らす長野県でもJアラートの音が鳴り響いて驚きました。
朝起きないことで定評のあるわたくしですが、一発で飛び起きました(^^;
一瞬で聴いた人を不安にさせるあの音?メロディ?を考えた人、ある意味すごいなぁと思います。
でも怖かった~。

丈夫な建物か地下に避難してください、って言われても
田舎なんで。。。。。。地下が。。。。ない。。。。(笑)

さて、今日は margin-top と space-before について、です。
margin-top は皆さまご存じのとおり、指定されたブロックの上端側にアキを作ります。
XSL-FO ではもうひとつ space-before というのがあります。
こちらは “before” なのでエリアの before側のアキということで
“top”(絶対位置指定)とはちょっと意味合いが違ってきますが
通常の横書き(lr-tb)の文書ですと “before” と “top” は同じですので
ここでは同じものとしてお話しします。

space-before を使った便利なケースはこんな場合です。

space-before を使った便利なケース

“1.1.1 Tree Transformations” と “1.1.2 Formatting” のサブタイトルのブロックには
どちらも space-before=”24pt” が指定してあります。
ページ途中にある場合は前のブロックとの区切りとしてアキを作り、
サブタイトルがページの先頭にある場合にはアキは不要ということでページ上端から始まります。
サブタイトルのブロックがどこに位置するか、ページの先頭にくるかどうかは
組版してみないとわからないですが、
space-before を指定しておくとこのような組版が可能です。

この振る舞いを定義するのが、
space-before の .conditionality です。
.conditionality の値は “discard” と “retain” です。
既定値は “discard” で、上記のような結果になります。
“retain” の場合は 常に(アキを)残す という意味なので
このサンプルのような場合でも、ページ先頭にアキが作られます。

XSL-FO で書く場合は、space-before.conditionality=”discard” のように指定します。
(既定値が discard なのでわざわざ指定しなくてもこうなります)

XSL-FO は元々 CSS2(2.1)を元に考えられているので
仕様の互換性のために margin-top が残されています。
では、margin-top と space-before のどこが違うのかというと、
この .conditionality です。

margin-top には .conditionality の概念はありません。指定もできません。
さらに (lr-tb のドキュメントにおいて)margin-top が指定された場合は
space-before.conditionality は “retain” が指定されたものとして扱うということが
XSL-FO の仕様で決められています。
space-before の方が実用的に考えられているんですね。

CSS は今のところ、残念ながら space-before はまだありません。
CSS3 の仕様策定が進んでいますので将来的には検討されるのかもしれませんね。

■XSL-FOの仕様紹介:『XSL-FO の基礎 第2版 – XML を組版するためのレイアウト仕様』(クリックで紹介文章へ)

 


XSLT と XSL-FO の勉強会(XSLSchool)

XML を自動組版するには XSLT の開発と XSL-FO の知識が不可欠です。HTML と CSS で組版しようという動きもあるにはありますが、まだまだ少数派でしょう。

弊社では XSLT と FO の両方を1日で学んでしまおうという、ちょっと贅沢なセミナーを開催しています。今まで25回以上開催し、ご参加者の延べ人数は100名様を超えてます。「XSLT や FO は名前を聞いたことはあるけれど…」という方々からご好評をいただいているセミナーで、6~7時間かけて XSL-FO の基礎を学びながら XSLT をひたすら入力していただく、ちょっとしたスパルタな内容です。

school-text

セミナーで使うテキストの一部

今月は12日と13日に二日連続で開催しました。二日連続というのは今までになかったかもしれません。講師はへとへとです(^^; が、皆さんに満足していただき、うれしい限りです。

詳しくは 「XSLSchoolのご案内」 をご参照ください。


Formatter Club 満員御礼!

早いもので、「Formatter Club」が発足してからこの7月で7年目を迎えました。
しかも、2017年7月7日とこれ以上の幸運は無いというに日に「Formatter Club【AH Formatter活用セミナー】」が開催されました。
「7」が続いてラッキー!な気分になっているところに、当初の定員を超える42名のご参加をいただきまして、お申込みをいただきました皆様には、この場をお借りてしてお礼を申し上げます。

3か月前の ブログ で開催を予告させていただきましたが、とかく腰の重たい性分で、まあまあそれなりに適当にと腰砕けになりそうなところでしたが、予告通りとは言えないまでも近い内容を実現できたのではないかと自負しています。

セミナーの概要は、こちら となります。
また、セミナー冒頭を飾りました「CAS-UB」のプレゼン資料については、こちら をご覧ください。 その他のプレゼン資料については、公開可能の承諾をいただきましたら、順次公開をさせていただく予定です。
ところで、なぜ開催の案内もなかったのに、突然に過去形の事後報告なのかという疑問は多々ありましょうが、実はこのブログの目的は次回の予告なのです。

次回は11月開催を予定しています。
既に、2社よりユーザー事例紹介の承諾をいただいています。
もし、「AH Formatter」を使った事例を紹介したい、「AH Formatter」を組み込んだオリジナルアプリの発表の場にしたい、という方がいらっしゃれば、ご連絡をいただけますでしょうか。 また、製品のお役立ち情報も、引き続きご提案をさせていただく予定です。

今後も、「AH Formatter」を導入されているユーザーや関心を持っていただいている皆様と開発者とを繋ぎ、会員同士の交流、情報交換により製品の利用技術を向上させ、より皆様のお役に立てる製品としていくために努めてまいります。

次回「Formatter Club」に、乞うご期待!

「Formatter Club」へ参加ご希望の方は、紹介サイト より、参加申込書用 PDF をダウンロードしていただき、ご記入の上メールもしくは FAX でお申し込みください。

メールアドレス:naganawa@antenna.co.jp または nukaga@antenna.co.jp(Fomatter Club 担当)
FAX 番号:03-5829-9024
また、「Formatter Club」へご要望も、同様の連絡先宛にお願い致します。


Pages: Prev 1 2 3 4 Next