目前我正在用iText编写几个评估程序。
我在表单字段的垂直对齐方面存在问题。
有人知道垂直对齐是否可行以及如何进行?
我想将垂直对齐设置为“bottom”而不是标准值“middle”。
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
import com.itextpdf.forms.PdfAcroForm;
import com.itextpdf.forms.fields.PdfFormField;
import com.itextpdf.forms.fields.PdfTextFormField;
import com.itextpdf.kernel.colors.ColorConstants;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
public class problem4 {
public static void main(String[] args) throws IOException {
String fnPdf = "results/problem4.pdf";
PdfWriter writer = new PdfWriter(fnPdf);
PdfDocument pdf = new PdfDocument(writer);
PdfPage page = pdf.addNewPage();
PdfAcroForm form = PdfAcroForm.getAcroForm(pdf, true);
PdfTextFormField field = PdfFormField.createText(pdf, new Rectangle(40, 200, 150, 50), "fName", "Dirk");
field.setColor(ColorConstants.BLUE);
field.setFontSize(10);
field.setJustification(PdfFormField.ALIGN_CENTER);
// missing vertical alignment bottom
field.setBorderColor(ColorConstants.BLUE);
field.setBorderWidth(2);
form.addField(field, page);
Document document = new Document(pdf);
document.close();
pdf.close();
Desktop.getDesktop().open(new File(fnPdf));
}
}