どの段落をどの段落に分割するかは、部分的にしかキャンバスに収まらないためです。分割後、最初の部分をキャンバスに追加し、2番目の部分を新しいキャンバスに追加したいと思います。Itext 7段落を分割する
public Paragraph addParagraphToPage(PdfDocument pdfDocument, int pageNum, Rectangle rectangle, Paragraph p)
{
PdfPage page = pdfDocument.getPage(pageNum);
PdfCanvas pdfCanvas = new PdfCanvas(page.newContentStreamAfter(), page.getResources(), pdfDocument);
Canvas canvas = new Canvas(pdfCanvas, pdfDocument, rectangle);
ParagraphRenderer currentRenderer = (ParagraphRenderer) p.createRendererSubTree();
currentRenderer.setParent(canvas.getRenderer());
result = currentRenderer.layout(new LayoutContext(new LayoutArea(pageNum, rectangle)));
ArrayList<Paragraph> paragraphs = new ArrayList<Paragraph>();
if (result.getStatus() != LayoutResult.FULL)
{
paragraphs = ????? // getNextParagraph(paragraphs, result, pageNum, rectangle, canvas);
if(paragraphs.size() == 2)
{
canvas.add(paragraphs.get(0));
return paragraphs.get(1);
}
}
return null;
}
コードを共有すると、より明示的になります。 – pirs
誰かが私を助けることができたら、私はうれしいでしょう。 –
それは大丈夫でしょう、しばらく待ってください – pirs