使用Java和iText以PDF格式生成的卡片组
我有下一个问题:使用Java和iText以PDF格式生成的卡片组,java,pdf,Java,Pdf,我有下一个问题: 我已经用PDF创建了一个表,但我正在尝试找到如何用空格分隔单元格,使它们看起来像一张卡片 我无法在PDF中打印/显示西装。我得到了军衔,但西装不见了。我尝试了几种字体,但没有成功 有什么想法吗 import java.io.FileOutputStream; import java.io.IOException; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Chapter; import com.i
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Chapter;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.List;
import com.itextpdf.text.ListItem;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Section;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
public class DeckOf52Cards {
public static void main(String[] args) throws DocumentException,IOException {
Document generatePDF = new Document();
FileOutputStream someName = new FileOutputStream("DeckOf52Cards.pdf");
PdfWriter.getInstance(generatePDF, someName);
generatePDF.open();
BaseFont downloaded = BaseFont.createFont("Burn outfade away.ttf",BaseFont.IDENTITY_H,true);
Font[] someStyle = {
new Font(downloaded, 40, 0, new BaseColor (0,0,0)),
new Font(downloaded, 40, 0, new BaseColor(255,0,0))
};
PdfPTable table = new PdfPTable(4);
String[] ranks ={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
char[] suits = {'\u2660','\u2663','\u2666','\u2665'};
for (int i = 0; i < ranks.length; i++) {
for (int j = 0; j < suits.length; j++) {
if (suits[j] == '\u2666' || suits[j] == '\u2665') {
table.addCell(new Paragraph(suits[j] + ranks[i] + "",someStyle[0]));
}
else {
table.addCell(new Paragraph(ranks[i] + suits[j] + "",someStyle[1]));
}
}
}
generatePDF.add(table);
generatePDF.close();
}
}
import java.io.FileOutputStream;
导入java.io.IOException;
导入com.itextpdf.text.BaseColor;
导入com.itextpdf.text.Chapter;
导入com.itextpdf.text.Document;
导入com.itextpdf.text.DocumentException;
导入com.itextpdf.text.Element;
导入com.itextpdf.text.Font;
导入com.itextpdf.text.List;
导入com.itextpdf.text.ListItem;
导入com.itextpdf.text.paragration;
导入com.itextpdf.text.Phrase;
导入com.itextpdf.text.Section;
导入com.itextpdf.text.pdf.BaseFont;
导入com.itextpdf.text.pdf.PdfPCell;
导入com.itextpdf.text.pdf.PdfPTable;
导入com.itextpdf.text.pdf.PdfWriter;
公共类52张卡片{
公共静态void main(字符串[]args)引发DocumentException、IOException{
Document generatePDF=新文档();
FileOutputStream someName=新的FileOutputStream(“DeckOf52Cards.pdf”);
getInstance(generatePDF,someName);
generatePDF.open();
BaseFont下载=BaseFont.createFont(“Burn outfade away.ttf”,BaseFont.IDENTITY\u H,true);
Font[]someStyle={
新字体(已下载,40,0,新基色(0,0,0)),
新字体(已下载,40,0,新基色(255,0,0))
};
PdfPTable=新的PdfPTable(4);
字符串[]排名={“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”、“J”、“Q”、“K”、“A”};
char[]suites={'\u2660','\u2663','\u2666','\u2665'};
for(int i=0;i
您确定使用的字体包含这些字符吗?(大多数字体都没有。)第一次尝试是使用最常用的字体-arial,但同时-什么也没有出现。我撒谎了。重新启动后,它们会出现-使用arial。很好,谢谢。但是我仍然在寻找信息,我如何才能在这个表中创建空格/分隔/单元格。我将非常感谢你的帮助。