私は明らかに見えないと思っています。Apache POIを使用してPowerPointスライド内の2つの点の間に線を描く
与えられたコードでは、座標[x1、y1]から[x2、y2]まで線を描きたいと思います。私は[X1、Y1]のアンカーでを開始しますが、その後、私は目標点の座標の代わりに、幅と高さを入力する必要がラインを見ることができるものから、
int x1 = 20;
int y1 = 10;
int x2 = 30;
int y2 = 5;
XSLFSlide pptSlide = ...
XSLFAutoShape shape = pptSlide.createAutoShape();
shape.setShapeType(ShapeType.LINE);
shape.setAnchor(x1, y1, <width>, <height>);
。しかし、ターゲット座標のy成分が開始座標よりも小さいので、PowerPointが生成されたPPTXドキュメントを開こうとするとエラーが発生するような高さを負の値に設定しようとしました( "PowerPointがコンテンツに問題が見つかりましたファイル内で.pptx。 ");
私はこれについての明白な解決策を見落としているので誰でも助けてくれると確信しています文書内のあるポイントを別のポイントに描画する方法は?
あなたのコードを使用するには、矩形は、左上のx、yの開始時刻:20.5と右下のX、Yで終わる:30,10。行は、デフォルトごとに左上から右下にあります。したがって、線はx、y:20,5からx、y:30,10までです。あなたのコードの後ろに 'shape.setFlipVertical(true);'を入れてください。フリップされた線は、左下から右上になります。だから、必要に応じてx、y:20,10からx、y:30,5までです。 –
良い点。私は今それを実装しました。ありがとう! –