カテゴリー別アーカイブ: 構造化文書

EPUBをPDFに変換するのは結構厄介。PDFのためのEPUB作りの注意事項

おはようございます。

本日と明日は、電子出版サービスグループから話題をご提供いたします。

今日のお題は、「EPUBをPDFに変換するときの注意事項」です。

アンテナハウスの電子出版サービスグループは、EPUBをPDFに変換するサービスとして、「EPUBtoPDF変換サービス」を展開しています。

書店(ストア)から購入したDRMのかかったEPUBには対応しておりませんが、出版社や著者さんが持つEPUBがあれば、ご希望のページサイズ、フォントサイズ、ページのマージンなどでPDFに変換しますよ、という内容です(1冊/3000円+税)。

さて、EPUBからのPDF変換は、EPUBの持つCSSでの体裁を生かした上で、ページ情報など「印刷組版」(=ここではPDF組版のこと)に必要な情報を追加して行なっています(バックグラウンドで動いているのは、当社の主力製品より、 AH CSS Formatterです)。EPUBの内容を自動組版でPDF化するので、EPUB中に指定されている内容をそのままPDFにします。逆に言えばEPUBに対する編集は一切行いません。変換のお値段からも推測いただける通り、人手による調整は原則として一切行いません。

このサービスでは、EPUB用に作られたデザインを用いてPDF用に組版するため、そのEPUBのタグの付け方やデザインの仕方によっては、大層見栄えの悪いPDFになってしまうことになります。結果として、こんなはずではなかったという期待に沿わないPDFができあがってしまいます。

一番多く、且つ非常に困るのは、EPUBの中で改行”<br>”や空行”<p></p>”を多用して段落間の空きを作ったり、箇条書きなどで、全角空白文字でインデントを作るパターン、次点で”pagebreak”(改ページ)をやたらに使うパターン、またはその複合型です。

KindleやEPUBには紙のページに相当する固定サイズのページはありません。そこで上述のように空きを設定しても問題ないかもしれないですが、PDFに組版する際、EPUBのデザインを使って固定サイズのページ上にレイアウトしていくため、こうした<br>や<p></p>、全角空白文字、pagebreakは、「ページ」という決められたサイズに配置する時には悪手になることが多く、無駄に白紙ページを量産したり、箇条書きの場合は、折り返した2行目の文字の並びが最初の行より飛び出しすぎていたり、後ろに行き過ぎていたり、変なところで意図しない改行ができたりと、デザインがガタガタに崩れてしまいます。

EPUB制作に於いては便利でお手軽なデザイン手法ですが、将来PDFに出力して何らかの形でEPUBの再利用を考えている場合は、このあたりはきちんとCSSをつくってデザインを整えてください。CSSでレイアウトを整えることで、どんなデバイスやツールで閲覧しても見た目がさほど変化しないという、EPUBの品質も向上しますし、一石二鳥です。

ぜひご検討くださいますよう!


美味しいDITAの作り方セミナー「DITA再利用の原理とシステム活用」その2

ふたつめのセッションは「DITA運用編:再利用と協働制作を支援するCCMSとSchematron(スキマトロン)の活用法」と題し、アートダーウィン社が講演しました。
DITAの特性に応じたCMS製品(CCMS)が持つべき機能を、DITA専用CMSを使って具体的に解説し、さらにSchematron(スキマトロン)を使って、誤ったトピックライティングを矯正し、再利用を促進させる手法を実演を交えて解説しました。

DITAセミナー04出典:アートダーウィン著「再利用と協働制作を支援するCCMSとSchematronの活用法」から

ご参加された方々は皆さん熱心で、懸命にメモを取っていらっしゃる方もいらっしゃったのが印象的でした。
最後にアンケートにお答えいただいたのですが、80%以上の方に「期待以上に有意義だった」あるいは「期待通り有意義だった」とおっしゃっていただけました。

美味しいDITAの作り方セミナーは今後も続けていきたいと考えていますので、DITAに興味のある方は是非ご参加ください。

DITAセミナー

セミナーの様子

<< 「その1」


美味しいDITAの作り方セミナー「DITA再利用の原理とシステム活用」その1

7月10日にアンテナハウスとアートダーウィン社共催で「美味しいDITAの作り方セミナー」を開催しました。
このセミナー、テーマを変えて過去に数回開催してきたのですが、毎回好評でして今回もその例にもれず、多くの方に喜んでいただけたと自負しています。

ひとつめのセッションは「DITA基礎編:みんなが知りたい再利用のしくみ」と題し、トピックファイルとは何か、マップファイルとは何かという話から始め、DITAが用意する各種情報タイプ(concept、task、reference、glossary)の概要説明、そして本セッションのメインテーマであるコンテンツ再利用手法(conref、conkeyref、keyref、条件処理、関連テーブル)の解説を行いました。

使用したスライドのほんの一部
DITAセミナー01DITAセミナー02DITAセミナー03
「その2」に続く >>


[AH Formatter] HTML+LaTeX から HTML+SVG への変換

HTML の中に数式が LaTeX で記述されているとき、『AH Formatter』で数式を含めて PDF 出力したいというご要望を実現するため、弊社では HTML に記述された LaTeX部分を MathJax(※)で SVG に変換して、HTML と SVG にしてから『AH Formatter』で組版することをお勧めしています。
MathJax とは、MathML・TeX・ASCIImath で記述された数式をブラウザ上でレンダリングする JavaScript エンジンです。閲覧者は数式の表示のためにブラウザにアドオンのインストールや、フォントの用意などをすることなく、数式を表示できます。

この HTML+LaTeX から HTML+SVG の変換を実現するために弊社では SlimerJS / PhantomJS用のスクリプト「mathjaxToSVG.js」をご用意しました。次のようなコマンドラインで HTML+LaTeX を HTML+SVG にすることが可能です。(推奨環境:Linux+SlimerJS+Firefox)

使用例(入力ファイル input.html、出力ファイル output.html):

$ slimerjs mathjaxToSVG.js input.html > output.html
または
$ phantomjs mathjaxToSVG.js input.html > output.html

次のように中間生成物の HTMLファイルを出力せずに、PDFを出力することも可能です。

$ slimerjs mathjaxToSVG.js input.html | AHFCmd -d @STDIN -x 3 -o output.pdf
または
$ phantomjs mathjaxToSVG.js input.html | AHFCmd -d @STDIN -x 3 -o output.pdf

◆ mathjaxToSVG.js のお問い合わせ

SlimerJS / PhantomJS用のスクリプト「mathjaxToSVG.js」をお試しご希望の方、また、『AH Formatter』についてお問い合わせがございましたら、弊社システム営業グループ(sis@antenna.co.jp)までお問い合わせください。

◆ MathML の組版

なお、MathML については『AH Formatter』は独自開発したエンジンにより描画します。そのため、MathML が記述された FO や HTML を事前に変換する必要はなく、そのまま組版可能です。MathML の組版については、「MathML 描画エンジン」をご覧ください。

 


oXygen XML Editor 20.0 の販売を開始いたしました!

mb_author

 oXygen XML Editor 20.0 の販売を2018年03月16日から開始いたしました。

oXygen XML Editor は先進のXMLオーサリング・開発機能とグラフィカルな編集プラットホームを提供し、世界各国で愛用されています。
Windows、Mac OS X、Linuxに対応し、ユーザーインタフェースには日本語版も用意されています。

oXygen XML Editor にはDITAで書かれた文章を、HTMLで構成された WebHelp(Webページ)に変換する機能を備えています。

例えば以下のように書かれたDITA文書を WebHelpに変換すると・・
oXygen XML Editor01

 

ボタンひとつで、このようなWebページを作成することができます。
oXygen XML Editor02

 

先ほどのDITA文書をPDFに変換することもできますよ。
こちらレイアウトにはアンテナハウスで開発した pdf5.mlを使用しています。

oXygen XML Editor03

ひとつの文章から、Webページを作成したり、PDFを作成したり、色々なことができます。

oXygen XML Editor の WebHelpは最初からレイアウトのテンプレートが用意されているので、簡単にレイアウトを変更することができます。
例えば、空と雲をモチーフとしたレイアウト。
oXygen XML Editor04

 

テクノロジーをモチーフとしたレイアウト。
oXygen XML Editor05

 

もちろんスタンダードでシンプルな青色をモチーフとしたレイアウトもあります。
oXygen XML Editor06

 

他にも色々なテンプレートが用意されています。
テクニカルな要素は増えますが、自分でテンプレートを作成することもできます。

テンプレートの作成方法(英語)
https://www.oxygenxml.com/doc/versions/20.0/ug-editor/topics/whr_publishing_template_contents.html

WebHelpはレスポンシブデザインで設計されているので、モバイル機器の表示にも対応しています。すごい!

ここまでくると、もはやエディタという感覚ではなく、システムという感覚に近いですね。

oXygen XML Editor 20.0 で追加された主な機能は以下です。

・ DITA

  • 未参照のキー定義をレポートする
    [DITA マップ 完全度の確認]ダイアログボックスに新しく[参照されていないキー定義を報告する]が追加され、 参照されていないキー定義をレポートすることができます。
  • 未参照の再利用可能な要素をレポートする
    [DITA マップ 完全度の確認]ダイアログボックスに新しく[参照されていない再利用可能な要素をレポートする]が追加され、 どこにも参照されない潜在的な再利用可能な要素をレポートすることができます。
    これらは、ID属性を持ち、リソースのみとしてマークされたトピック、または他の要素が再利用されるトピックで定義される要素です。

・ WebHelp

  • 公開テンプレート
    WebHelpレスポンシブ出力のルックアンドフィール(レイアウトとスタイル)を定義します。 これらのテンプレートは、チームと簡単に共有できるカスタマイズパッケージを表します。
  • ビルトイン公開テンプレートギャラリー
    oXygenには組み込みの公開テンプレートが付属しています。 これは、WebHelp変換シナリオの[ テンプレート ]タブで利用できます。 フィルタリングオプションとテンプレートプレビュー画像を使用して、 必要なテンプレートを簡単に見つけることができます。

・・・などなど、これらが追加された機能の一部となります。(追加機能が多すぎて書ききれません!)
詳細はアンテナハウスのホームページをご覧ください。
https://www.antenna.co.jp/oxygen/#v20.0

oXygen XML Editor はバージョンアップの度に、沢山の機能が追加されます。
こちらのページでは oXygen XML Editor 19.0 19.1 20.0 に追加された機能を紹介しています。
https://www.antenna.co.jp/oxygen/new-feature190-200.html

  • マスターファイルサポート
  •  DITA再利用コンポーネントビュー
  • PDFとXHTML出力のフロート画像
  • DITAトピックタイプの変換
  • oXygen WebHelp テンプレート

DITAやWebHelpに関する機能がとても充実していますね!

oXygen XML Editor に関してはアンテナハウスまで お問い合わせ ください!(oxygen@antenna.co.jp


Formatter で MathML を PDF にしてみる

弊社の AH Formatter は世界中で愛用されている XML 自動組版エンジンですが、今回はちょっと違った使い方をしてみます。
ただマニュアルに書かれた使い方ではないので、あくまでも自己責任ということで…

MathML を画像ファイルや PDF にしたいという話はたまに聞くのですが、これを Formatter を使ってやってみます。

まず Formatter の GUI を立ち上げます。

formatter01

ここに MathML で書かれたファイルをドラッグアンドドロップすると

formatter02
こんな感じに可視化することができます。Formatter って MathML のビューアとしても使えるんですね。

最後にファイルメニューから「PDF出力」を選ぶと、表示されたままのイメージで PDF 保存できます。

formatter03

GUI を使わずにコマンドライン インターフェースを使ってもできるみたいです。
ahfcmd -d sample.mathml -o sample.pdf

通常は MathML にリンクを張った XSL-FO を作って、それを Formatter にレンダリングさせなければならないのですが、XSL-FO を作らなくてもいいなんて、超便利。
繰り返しになりますが、公式な使い方ではないのでご注意を。


海外出展情報 その2

Xploration 18 は、Xplor International、Electronic Document Systems AssociationR が主催する、プレゼンテーションと展示の両方を提供する会議で、 出席者が電子文書の傾向、ベストプラクティス、規定、新技術について学ぶ場です。 アンテナハウスが Xploration 18 で展示を行ったのは今年で2年目となります。

4月23日、Antenna House はコロラド州デンバーの CMS / DITA 北米会議 に出席いたしました。 この会議は、Center for Information-Development Management(CIDM)が主催し、プレゼンテーション、ワークショップ、展示などを行っています。 アンテナハウスは毎年 CMS/DITA North Americaで展示を行い、今年は多言語フォーマットに関するセッションで [ Formatting languages is easy as pie with DITA-OT and PDF5 (-ML Plugin)! ]  という題目で、展示を行いました。

DITA NA

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

<< 海外出展情報 その1


海外出展情報 その1

米国アンテナハウスは今月(4月)2週間にわたって3つの異なるイベントに出席して参りました。 4月16日の週に、ワシントン DC で開催された JATS-Con 2018、フロリダ州オーランドで開催された Xploration 18 、そして4月23日は、コロラド州デンバーで開催の CMS/DITA North America に参加いたしました。

JATS-Con は、ジャーナル・アーティクル・タグ・スイート(JATS)を使用している、または学ぶことに関心のある人のための、2日間の会議です。 JATS は、学術雑誌を XML で記載する際に使われるスキーマの1種で、学術雑誌を記述するときの基準となる規格となっています。初回の JATS-Con は 2010 年に開催されました。会議の主催者、National Library of Medicine は Antenna House Formatter のユーザーで、JATS 実装のための XSL スタイルシートを開発しそれをパブリックドメイン(公有化)として提供しています。今年はアンテナハウスは JATS-Con の出席者として参加しました。この会議は、いつもアンテナハウスの多くのユーザーと出会う大変良い機会となっています。

あと2つのイベントについては明日ご紹介いたします。

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

海外出展情報 その2 >>


[AH Formatter] Introduction to CSS for Paged Media(CSS組版入門)

先月開催された「XML Prague 2018」で
弊社の社員が「Introduction to CSS for Paged Media」において使用した CSS組版のチュートリアル(CSS-Print.pdf)を公開しています。
Introduction to CSS for Paged Media(CSS組版入門)
CSS-Print-XMLPrague2018.zip

このチュートリアルは『AH Formatter』の CSS組版によって作成されています。
組版に使用した html とスタイルシートほか必要なデータは「CSS」フォルダに格納されていますので、
フォルダ内の「CSS-Print.html」を『AH Formatter』で開くことで、チュートリアルの組版を確認できます。

なお、現在このチュートリアルは英語版しかありませんが、日本語版の作成も予定しています。

組版に使用した『AH Formatter』の評価版は以下のページよりお申し込みいただけます。是非、お試しください。
AH Formatter 評価版のお申し込み

また、『AH Formatter』についてお問い合わせがございましたら sis@antenna.co.jp 宛てにご連絡ください。


[AH Formatter] インデントの継承のお話

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

今回もお問い合わせのあったサポート案件から1つご紹介します。

『AH Formatter』の拡張機能の1つに、axf:overflow-condense というのがあります。
大きさが指定されたエリアにテキストが入りきらない=オーバーフローする場合に
font-size や font-stretch を調整(フォントサイズを小さくしたり長体にしたり)して詰め込むというものです。
サンプルページ

ある時、この axf:overflow-condense が効かないというお問い合わせがありました。
FOは以下のように記述されていました。

 <fo:list-block provisional-label-separation=”30pt” provisional-distance-between-starts=”40pt” >
  <fo:list-item>
   <fo:list-item-label end-indent=”label-end()”>
    <fo:block-container width=”30pt” overflow=”condense” axf:overflow-condense=”font-stretch” background-color=”yellow” wrap-option=”no-wrap”>
     <fo:block>A.1.1</fo:block>
    </fo:block-container>
   </fo:list-item-label>
   <fo:list-item-body start-indent=”body-start()”>
    <fo:block>Sample Data</fo:block>
   </fo:list-item-body>
  </fo:list-item>
 </fo:list-block>

リストのラベルに fo:block-container を置いて、
ラベルのテキストが width=”30pt” を超える場合は
font-stretch で長体にして収めようとしています。
ところが、組版してみると次のような結果になります。

 [AH Formatter] インデントの継承のお話

ラベルの “A.1.1″ が長体にならず、はみ出していますね。。。。

fo:block-container に width は指定されているし他の指定も間違っていませんし。。。。

どうして axf:overflow-condense=”font-stretch” が効かないんでしょう????

続きを読む


Pages: 1 2 3 4 5 6 7 8 9 10 11 12 Next