Привет. Я пытаюсь расположить стол в нужном (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();
}
}