Codenameone: создание файла PDF - PullRequest
0 голосов
/ 01 мая 2018

Я пытался создать PDF-файл, используя библиотеку Itext,

это был мой метод:

private void printPDF () создает исключение FileNotFoundException, DocumentException, IOException {

           OutputStream file = new FileOutputStream(new File("D:\\test.pdf"));
           Document document = new Document();

           PdfWriter.getInstance(document, file);


           document.open();

           document.add(new Paragraph("Your name is "+ l1.getText()));
           document.add(new Paragraph("****************************"));
           document.add(new Paragraph("                            "));
           document.add(new Paragraph("                            "));
           document.add(new Paragraph("Your surname is "+ l2.getText()));
           document.add(new Paragraph("****************************"));
           document.add(new Paragraph("                            "));
           document.add(new Paragraph("                            "));
           document.add(new Paragraph("Your Appointment Date is "+ l3.getText()));
           document.add(new Paragraph("****************************"));
           document.add(new Paragraph("                            "));
           document.add(new Paragraph("                            "));
           document.add(new Paragraph(new Date().toString()));


           document.close();

           file.close();



}

однако при запуске я получил несколько ошибок, связанных с io; "Не могу найти символ import java.io.File; "/ не могу найти символ import java.io.FileNotFoundException; / не удается найти символ import java.io.FileOutputStream; Есть ли проблема с IO в кодовое имя один? ??

Уточните, пожалуйста!

1 Ответ

0 голосов
/ 01 мая 2018

Это не сработает. Вы изменили путь к классу, добавив PdfWriter. Это скомпилируется на рабочем столе и даже будет работать в симуляторе, но не будет работать на устройстве, поскольку библиотека там не будет поддерживаться.

Вы можете обернуть библиотеки как cn1libs , но фляга может использовать произвольный код Java, который может быть проблемой, см. https://www.codenameone.com/blog/why-we-dont-support-the-full-java-api.html

У нас есть руководство по портированию родных OS SDK на Codename One в руководстве разработчика и в видео форме .

Специально для ваших вопросов лучше всего создать PDF на сервере и загрузить его на устройство. При таком подходе вы избавите себя от многих головных болей.

Файлы могут храниться либо в API Storage, либо в FileSystemStorage, оба выглядят одинаково, но различаются и несовместимы. Вы можете прочитать о них здесь . Если вы используете Storage, есть только одно место. Если вы используете FileSystemStorage, приложение домой - подходящее место для хранения ваших вещей.

...