Die Verwendung von ColumnText führt zur Ausnahme "Das Dokument hat keine Seiten"

Ich möchte Text in ein Rechteck setzen, das sich unter (oder links oder rechts) eines Bildes befindet:

Bitte siehe Link:http: //upanh.in/SLk

Ich verwende ColumnText, um Text in meinen Code einzufügen:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("application/pdf");
    try {
        // step 1
        Document document = new Document(PageSize.A4.rotate());
        // step 2
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        PdfWriter writer = PdfWriter.getInstance(document, baos);
        // step 3
        document.open();
        // step 4
        ColumnText column = new ColumnText(writer.getDirectContent());
        column.setSimpleColumn(new Phrase("text is very long ..."), 10, 10, 20, 20, 18, Element.ALIGN_CENTER);
        column.go();

        // step 5
        document.close();
        ServletOutputStream os = response.getOutputStream();
        baos.writeTo(os);
        os.flush();
        os.close();
    } catch (DocumentException e) {
        throw new IOException(e.getMessage());
    }
}

Ergebnis

ExceptionConverter: java.io.IOException: Das Dokument enthält keine Seiten.

aben Sie Vorschläge, wie Sie das beheben könne

Frage

Ich versuche, Text (Mitte und Mitte) im Rect mit dem folgenden Code anzuzeigen, aber es war kein Erfolg. Der Text war nur in der Mitte des Rektums.

ColumnText column = new ColumnText(writer.,getDirectContent());
column.setSimpleColumn(RectImg1[0], RectImg1[1], RectImg1[0] + squareHeight, RectImg1[1] + squareHeight
                        * 1 / 4);
Paragraph p = new Paragraph(imgr.getText(), fontH);
p.setAlignment(Element.ALIGN_CENTER | Element.ALIGN_MIDDLE);
p.setLeading(18);
column.addElement(p);
column.go();

wo war mein Fehler?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage