gpt4 book ai didi

java - iTextpdf 背景仅设置为可用文本

转载 作者:行者123 更新时间:2023-11-30 02:20:46 26 4
gpt4 key购买 nike

以下是我使用 iText 从 Java 生成 PDF 的代码:

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.Font.FontFamily;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;



public class ChunkBackground {

public static final String DEST = "C:\\test.pdf";

public static void main(String[] args) throws IOException,
DocumentException {
File file = new File(DEST);
file.getParentFile().mkdirs();
new ChunkBackground().createPdf(DEST);
}

public void createPdf(String dest) throws IOException, DocumentException {
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(dest));
document.open();

Font f = new Font(FontFamily.HELVETICA, 8.5f, Font.BOLD, BaseColor.WHITE);
Chunk c = new Chunk("FOR EMPLOYMENT WITH XXXX YYYY XXXXX", f);

c.setBackground(BaseColor.BLACK);
Paragraph p = new Paragraph();
p.add(c);

document.add(p);
document.close();
}

}

这是生成的 PDF:

PDF

如何设置背景宽度而不考虑文本宽度?

最佳答案

我要做的是将 block 包含在 PdfTable 中,宽度为 100%,如下所示:

    Font f = new Font(FontFamily.HELVETICA, 8.5f, Font.BOLD, BaseColor.WHITE);
Chunk c = new Chunk("FOR EMPLOYMENT WITH XXXX YYYY XXXXX", f);

PdfPTable table = new PdfPTable(1);
PdfPCell cell = new PdfPCell(new Phrase(c));

cell.setBackgroundColor(BaseColor.BLACK);
table.addCell(cell);
table.setWidthPercentage(100);

document.add(table);
document.close();

输出:

enter image description here

关于java - iTextpdf 背景仅设置为可用文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46885617/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com