私はいくつかの単純な表形式のデータを HTML テーブルとして生成する Web サイトを持っています。私のユーザーの多くは、レーザー/インクジェット プリンターで Web ページを印刷します。ただし、従来のドット マトリックス プリンター (テキストのみ) で印刷することを好む人もいますが、そこに問題があります。
Web ブラウザーからドット マトリックス プリンターに印刷すると、プリンターは実際にデータを「グラフィック」/イメージとして認識し、ドットごとに印刷します。
つまり、文字「C」を印刷する場合、プリンターはそれを水平方向にスライスし、3 ~ 4 パスで印刷します。
同じプリンターは、ASCII ファイル (メモ帳など) からテキストを完全な文字として 1 回のパスで印刷するため、Web ページを印刷する場合よりも 5 倍速く、はるかに静かです。
(「一般的なテキストのみのドライバー」を試してみましたが、Mozilla Firefox には、2.0 以降、この特定のドライバーでは何も出力されないという既知のバグがあります)
では、既に生成された HTML をフォーマットし (たとえば、メソッドが HTML テーブル全体を文字列として受け取る)、適切に整列された列を持つ対応するテキスト ファイルを生成するクリーンな方法はありますか?
HTMLタグを削除しようとしましたが、セルのデータの適切な「ラッピング」を実行し、他のセルのデータ(同じ行から)の整合性を維持することが主な問題です。
例: (「|」と「_」は実際には必要ありません)
Col1 | Col2 | Colum_Name3 | Col4 |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1 | this cell | this column | smaller |
| is in three| spans 2 rows | |
| rows | | |
- - - - - - - - - - - - - - - - - - - - - - - -
2 | smaller now| this also | but this|
| | | cell's |
| | | data is |
| | | now |
| | | bigger |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
好ましいアプローチを提案していただけますか?
xslt を使用してテキストを出力することを考えましたが (より一般的な pdf の代わりに)、Apache FOP のテキスト レンダラーは本当に壊れており、開発パスで忘れられている可能性があります。業務用は高すぎる。