問題タブ [xhtmlrenderer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 空飛ぶ円盤と docx4j を同じプロジェクトで使用する
xhtml ドキュメントを PDF 形式と Docx 形式の両方にフォーマットできるようにしたいプロジェクトがあります。
しばらくの間、flyingsaucer を使用して PDF ドキュメントをフォーマットしてきましたが、互換性の理由から常に古いバージョンの iText を使用する必要がありました。docx4j を使用しているので、iText を最新バージョンに更新する必要があります。そうしないと、機能しません。
FlyingSaucer (xhtmlrenderer R8pre2) は iText 2.0.8 を
使用 docx4j 2.8.0 は iText 2.1.7 を使用
使用できる iText ライブラリは 1 つだけですが、どちらを使用しても、空飛ぶ円盤または docx4j のいずれかで互換性の問題が発生します。
現時点では、ある特定のメソッド ( com.lowagie.text.pdf.BaseFont.getCharBBox
) に問題があるようです。このメソッドは、あるバージョンではchar
パラメーターを受け取り、別のバージョンではパラメーターを受け取りint
ます。
Flyingsaucer または iText のソースをダウンロードして (どちらもオープン ソースだと思います)、自分で修正する必要があるかもしれません (以前に行ったことはありませんが、管理できると思います)。この問題に遭遇した最初の人であり、おそらく別の方法で回避するか、他の誰かがこの種の問題を解決するためにプロジェクトの 1 つをすでにフォークしています。
linux - RedHatサーバーでdocx4jxhtmlrendererを使用したHeadlessException
RedHatサーバーでjava.awt.HeadlessException
を使用すると、が表示されます。Docx4jReplacedElementFactory
誰かがこれの回避策を知っていますか?(Xvfbの実行以外)
スタックトレースにドリルインしましたが、問題の原因はですjava.awt.GraphicsEnvironment.getDefaultScreenDevice()
。これは、ヘッドレス環境で実行すると例外をスローします。これは文書化されているとおりです:「throws:HeadlessException-if isHeadless()returns true」(HeadlessGraphicsEnvironment.getDefaultScreenDeviceからスローされたjava.awt.HeadlessExceptionに関するコメントを参照)。
与えられgetDefaultScreenDevice
たものは指定どおりに機能していますが、docx4jを使用するときに、そこに行かないようにする別のアプローチはありますか?
のソースを見ると、次のようになりorg.docx4j.org.xhtmlrenderer.util.ImageUtil.getGraphicsConfiguration
ます。
スタックトレース:
java - DOM要素の計算されたスタイルを取得します
レイアウトが完了したら、DOMツリーを解析して、各要素の計算されたスタイルを取得します。これは可能ですか。
私が得ることができる最も近いものは以下のスニペットですが、それは計算されていないスタイルしか与えません。
要素がどの「ボックス」にあるかを取得することも可能ですか。
jsf-2 - Javaでitext+フライングソーサーを使用してxhtmlページから動的にpdfを生成する方法
私は初めてiText+フライングソーサーを使用し、JSF 2.0を使用したxhtmlページで、firstName、lastName、phone numberなどの通常の入力フィールドを使用した簡単な登録フォームを使用しています。ユーザーがすべてのデータを入力し、[次へ]ボタンをクリックすると、ユーザーデータを含むこのXHTMLページをpdfに変換します。ページに含まれるすべてのスタイルを含むこのページのソースHTMLを正確に取得し、pdfに変換するにはどうすればよいですか。現在、このように結び付けています。
しかし、それは私にこの例外を投げかけています。
これは、上記のURLを使用してページを取得する正しい方法ですか。そのURLは、[次へ]ボタンをクリックしてユーザーデータを含むページを取得してPDFに変換しますか、それとも間違ったコードを試していますか。助けてください。例をいただければ幸いです。
javascript - フロート グラフを使用した PDF レポートの作成
クライアント向けに自動レポート生成ツールを実装しようとしています。レポートを PDF 形式で作成する必要があり、Jquery flot を使用してグラフを作成することに非常に慣れています。PDF内のグラフを取得する方法が必要です。
空飛ぶ円盤(xhtmlrenderer)を使ってグラフの画像をキャプチャしてみましたが、javascriptでグラフを作成しているのでうまくいきません。
xhtmlrenderer は javascript で作成された要素をキャプチャできますか?
または、グラフの画像をキャプチャできる他のツールはありますか?
java - Flying Saucer で、各ページのフッターにページ番号とページ合計を含む PDF を生成するにはどうすればよいですか?
これを自分で理解したいと思っていたよりももう少し調査が必要だったので、ここに包括的な回答を投稿します。これを行うための情報は、さまざまな Web サイトに分散しているように思われるので、1 か所にまとめたいと思います。 この答えは同じ かもしれませんが、html テンプレートではなく Java 文字列にあるため、私の目は輝きます。質問は次のとおりです。
PDF をレンダリングしていて、ページの下部に「Page n of m」というフッターが必要です。ここで、「n」は現在のページ番号、「m」はドキュメントの合計ページです。それ、どうやったら出来るの?
css - xhtmlrenderer の最適化: css に時間がかかりすぎる
空飛ぶ円盤 xhtmlrenderer を使用して、xhtml から pdf を生成しています。私が直面している問題は、css ファイルが大きいか、css が多すぎる場合に、xhtmlrenderer が pdf を生成するのに時間がかかりすぎることです。cssありとなしでpdfを生成しようとしました。そして結果は予想通りでした。css なしで 3 秒近く、 css ありで 50 秒かかりました。Generationn timeを短縮する方法を教えてください。コードを最適化しようとしましたが、xhtmlrenderer は外部ライブラリであるため、最適化することはあまりできません。どんな助けでも大歓迎です