iText writeSelectedRows ничего не делает - PullRequest
0 голосов
/ 30 марта 2020

Привет. Я пытаюсь расположить стол в нужном (x, y) месте. При проведении исследования writeSelectedRows используется для позиционирования таблицы в определенном c месте.

Однако я пытаюсь, таблица застряла (0, 0), я не могу ее изменить. Я застрял!

Не могли бы вы помочь мне попробовать и понять, как расположить стол там, где я действительно хотел бы?

Вот код:

public static void main(String[] args) {
    Card card = new Card("Some Card");

    Document d = new Document(PageSize.A4, 65f, 0, 0 , 0);
    d.setMarginMirroringTopBottom(true);
    float height = d.getPageSize().getHeight();
    float width = d.getPageSize().getWidth();
    try {
        //initiation

        PdfWriter writer = PdfWriter.getInstance(d, new FileOutputStream("HeaderTry4.pdf"));
        d.open();

        //initiation end

        //logo
        Image logo = Image.getInstance(card.logoPath);
        logo.scaleToFit(card.dimensions.LOGO_WIDTH, card.dimensions.LOGO_HEIGHT);
        logo.setAbsolutePosition(card.dimensions.LOGO_X, card.dimensions.LOGO_Y);
        writer.getDirectContent().addImage(logo);
        //logo end

        //card
        Image cardGraphic = Image.getInstance(card.cardPath);
        cardGraphic.scaleToFit(card.dimensions.CARD_TYPE_WIDTH, card.dimensions.CARD_TYPE_HEIGHT);
        cardGraphic.setAbsolutePosition(card.dimensions.CARD_TYPE_X, card.dimensions.CARD_TYPE_Y);
        writer.getDirectContent().addImage(cardGraphic);
        //card end


        //Card info
        PdfContentByte canvas = writer.getDirectContent();

        PdfPTable cInfo = new PdfPTable(2);
        cInfo.setTotalWidth(new float [] {124f, 80f});
        cInfo.setLockedWidth(true);
        cInfo.setHorizontalAlignment(Element.ALIGN_LEFT);

        PdfPCell header = new PdfPCell(new Paragraph(card.summaryCardInfo.card_info_table_header[0], card.summaryCardInfo.headerFont));
        header.setColspan(2);
        header.setBorderWidth(0f);
        header.setBorderWidthBottom(2f);
        header.setBorderWidthTop(1f);
        header.setPadding(4f);
        header.setHorizontalAlignment(Element.ALIGN_LEFT);

        PdfPCell clientNumberDescr = new PdfPCell(new Paragraph(card.summaryCardInfo.client_no[0], card.summaryCardInfo.valuesFont));
        clientNumberDescr.setHorizontalAlignment(Element.ALIGN_LEFT);
        clientNumberDescr.setBorderWidth(0f);

        PdfPCell clientNumberValue = new PdfPCell(new Paragraph(card.summaryCardInfo.client_no[2] = "501988", card.summaryCardInfo.valuesFont));
        clientNumberValue.setHorizontalAlignment(Element.ALIGN_LEFT);
        clientNumberValue.setBorderWidth(0f);

        cInfo.addCell(header);
        cInfo.addCell(clientNumberDescr);
        cInfo.addCell(clientNumberValue);
        cInfo.writeSelectedRows(0, -1, 100, 100, writer.getDirectContent());
        d.add(cInfo);
        //Card info end
        d.close();
        writer.close();

    }catch (Exception e){
        e.printStackTrace();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...