次のコードを使用して、(PDF から PDFBox を介して) AWT 画像を取り込みます。
private java.awt.Graphics2D graphics;
public void drawImage(java.awt.Image awtImage, java.awt.geom.AffineTransform at) {
graphics.setComposite(getGraphicsState().getStrokeJavaComposite());
graphics.setClip(getGraphicsState().getCurrentClippingPath());
graphics.drawImage( awtImage, at, null );
}
画像をSVGとしてキャプチャ/出力したい。フォームのsvgを生成するBatikライブラリを使用しています
<image x="0" y="0" transform="matrix(0.144,0,0,0.1439,251.521,271.844)"
clip-path="url(#clipPath2)" width="1797" xlink:href="data:image/png;
base64,iVBORw0KGgoAAAANSUhEUgAABwUAAAV4CAMAAAB2DvLsAAADAFBMVEX////+/v56
enpWVlZbW1taWlpZWVnHx8eRkZFVVVWMjIysrKxXV1dYWFhqamr5+fnMzMxeXl7c
3NyUlJR/f3+3t7cAAACGhob29vYpKSliYmJPT083Nzf8/PyBgYENDQ3s7OwwMDD1
...
RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
RPQP/R8CiIK+y8Q6KQAAAABJRU5ErkJggg==" height="1400"
preserveAspectRatio="none" stroke-width="0" xmlns:xlink="http://www.w3.org/1999/xlink"/>
私は独自の SVG ライブラリを持っており、SVGImage クラスにメソッドを追加して同様のものを作成したいと考えています。データに AffineTransformation を適用する必要がありますか? また、適用する場合はどのようにしますか?
これを行うことができる適切な (F/OSS) メソッドまたはライブラリを指摘していただければ幸いです。データは (上記の例のように) インラインであり、XML に準拠している必要があります。
更新: 回答やコメントがないため、独自の実装を作成する必要がありました。これは完全に自明ではなく、堅牢ではないか、最善の解決策ではない可能性があります。回答として追加します-欠陥があるか、改善できる場合はコメントしてください。