我正在用Java开发iTextPdf。
我要在图像上写文本绝对位置。像这样:
在本教程中,我尝试使用showTextAligned
中的DrawContext
来布置文本,但是我无法控制字体。
请告诉我如何在所需位置以文本上所需的字体颜色和大小显示多个文本。
答案 0 :(得分:1)
您可以在生成的pdf上使用iText PDFstamper。
有关更多详细信息,请参阅以下内容:
Changing the font color and size when using FontSelector
https://developers.itextpdf.com/question/how-add-watermark-page-opaque-image
import java.io.FileOutputStream;
import com.itextpdf.text.Element;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.ColumnText;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
class PDFStamperExample
{
public static void main(String[] args)
{
try
{
PdfReader pdfReader = new PdfReader("HelloWorld.pdf");
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileOutputStream("HelloWorldModified.pdf"));
PdfContentByte canvas = pdfStamper.getOverContent(1);
ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("Hello people!"), 250, 750, 0);
pdfStamper.close();
pdfReader.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
答案 1 :(得分:0)
首先,可以尝试如下将图像序列设置为true
writer.setStrictImageSequence(true);
此外,我们可以看到您为看到问题而编写的一些代码吗? 干杯!