У меня проблема.Я создаю приложение JavaFX для управления базой данных.Я решил преобразовать данные из таблицы в PDF.Для этого я использовал pdfbox.Я не могу изменить шрифт в моем конвертере pdf.Как это можно сделать?Потому что helvetica не поддерживает UTF-8 (ą, ę, ź ...).
enter code here public enum Orientation{
PORTRAIT, LANDSCAPE
};
public boolean doPrintToPdf(List<List> list, File saveLoc,Orientation orientation) {
try {
if (saveLoc == null) {
return false;
}
if (!saveLoc.getName().endsWith(".pdf")) {
saveLoc = new File(saveLoc.getAbsoluteFile() + ".pdf");
}
//Inicjalizacja dokumentu
PDDocument doc = new PDDocument();
PDPage page = new PDPage();
if (orientation == Orientation.LANDSCAPE) {
page.setMediaBox(new PDRectangle(PDRectangle.A4.getHeight(), PDRectangle.A4.getWidth()));
} else {
page.setMediaBox(new PDRectangle(PDRectangle.A4.getWidth(), PDRectangle.A4.getHeight()));
}
doc.addPage(page);
float margin = 10;
float tableWidth = page.getMediaBox().getWidth() - (2 * margin);
float yStartNewPage = page.getMediaBox().getHeight() - (2 * margin);
float yStart = yStartNewPage;
float bottomMargin = 0;
BaseTable dataTable = new BaseTable(yStart, yStartNewPage, bottomMargin, tableWidth, margin, doc, page, true,
true);
DataTable t = new DataTable(dataTable, page);
t.addListToTable(list, DataTable.HASHEADER);
dataTable.draw();
doc.save(saveLoc);
doc.close();
return true;
} catch (IOException e) {
DialogsUtils.errorDialog(e.getMessage());
}
return false;