Я новичок в программировании - только начал изучать java. Мне нужно записать консольный вывод кодировки таблицы умножения в файл pdf. Я попробовал itext, но пока не повезло.
Я был бы признателен за вашу помощь в этом вопросе.
Вот консольный вывод кодирования: Консольный вывод таблицы умножения
Вот кодировка:
import java.util.Random;
public class MultiplicationTable {
public static void main(String[] args) {
Random random = new Random();
for (int i=1;i<=10;i++) {
int value = random.nextInt(10);
for(int j=1;j<=5;j++) {
System.out.printf("%-2d x %-2d = %-3d |",j,value,j*value);
}
System.out.println();
}
}
}
Я пробовал itext - следующее кодирование, но получение вывода 1 столбца в файле pdf вместо 5 столбцов, как в выводе консоли
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
public class MultiplicationTable {
public static void main(String[] args) {
System.out.println("DemoPDF");
Random random = new Random();
int i;
List<String> ls = new ArrayList<String>();
for (i = 1; i <= 10; i++) {
for (int j=1;j<=10;j++) {
int num1= random.nextInt(10);
String str = null;
// str = System.out.printf("%-2d x %-2d = | ",j,num1);
str = i + "x"+ num1 + "= " + "|";
ls.add(str);
}
System.out.println();
}
String listString = "";
for (String s : ls) {
listString += s + "\n";
}
Document document = new Document();
try {
PdfWriter writer1 = PdfWriter
.getInstance(
document,
new FileOutputStream(
"C:\\Users\\ykazanov\\Desktop\\YANA\\Java\\table_pdf.pdf"));
document.open();
document.add(new Paragraph(listString));
document.close();
writer1.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
}