使用Java中的OpenPDF将表格单元格中的文本居中/对齐
我正在使用OpenPDF 1.3.20和Java,希望更改表格单元格中文本/段落的对齐方式。 到目前为止,无论我尝试了什么,都改变了文本在任何地方的位置 我只知道作为table.addCell(“sometext”)添加的文本会将其作为中心对齐。 由于我想添加更复杂的内容,这是不够的,我需要对定位进行良好的控制 这是我到目前为止使用的测试类。如何更改特定单元格的对齐方式使用Java中的OpenPDF将表格单元格中的文本居中/对齐,java,pdf,alignment,openpdf,Java,Pdf,Alignment,Openpdf,我正在使用OpenPDF 1.3.20和Java,希望更改表格单元格中文本/段落的对齐方式。 到目前为止,无论我尝试了什么,都改变了文本在任何地方的位置 我只知道作为table.addCell(“sometext”)添加的文本会将其作为中心对齐。 由于我想添加更复杂的内容,这是不够的,我需要对定位进行良好的控制 这是我到目前为止使用的测试类。如何更改特定单元格的对齐方式 import com.lowagie.text.*; import com.lowagie.text.Font; import
import com.lowagie.text.*;
import com.lowagie.text.Font;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfWriter;
import java.awt.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class test {
public static void main(String[] args){
Document document = new Document();
try {
// step 2:
// we create a writer that listens to the document
// and directs a PDF-stream to a file
PdfWriter.getInstance(document,
new FileOutputStream("HelloWorld.pdf"));
// step 3: we open the document
document.open();
// step 4: we add a table to the document
Font whiteFont = new
Font(Font.HELVETICA, 18, Font.NORMAL, new Color(255, 255, 255));
PdfPTable table = new PdfPTable(2);
table.setWidthPercentage(100);
Color blue = new Color(0, 0, 255);
PdfPCell cell = new PdfPCell();
cell.setBorderWidth(0);
cell.setBackgroundColor(blue);
// here i try to change the alignment of text in the cell
cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
Paragraph p = new Paragraph("test1", whiteFont);
p.setAlignment(Element.ALIGN_MIDDLE);
cell.addElement(p);
table.addCell(cell);
cell = new PdfPCell();
cell.setBorderWidth(0);
cell.setBackgroundColor(blue);
cell.addElement(new Paragraph("test2", whiteFont));
table.addCell(cell);
document.add(table);
document.close();
} catch (DocumentException de) {
System.err.println(de.getMessage());
} catch (IOException ioe) {
System.err.println(ioe.getMessage());
}
// step 5: we close the document
document.close();
}
}
一般来说,如果答案中包含对代码意图的解释,以及在不介绍他人的情况下解决问题的原因,那么答案会更有帮助。一般来说,如果答案中包含对代码意图的解释,以及在不介绍他人的情况下解决问题的原因,那么答案会更有帮助。这里有什么新闻吗,今天我偶然发现了同一个问题。这里有任何消息,我今天偶然发现了同一个问题。
Font whiteFont = new Font(Font.HELVETICA, 18, Font.NORMAL, new Color(255, 255, 255));
Phrase phrase = new Phrase("Hello World!", whiteFont);
PdfPCell cell = new PdfPCell(phrase);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setVerticalAlignment(Element.ALIGN_CENTER);