2016-02-21 3 views
0

Я успешно создал текстовый файл. и мне нужно добавить этот текст в PDF. его как у меня есть повседневные детали в текстовом файле. В конце месяца мне нужно создать pdf-файл со всеми данными.Текстовые файлы в PDF-файл с помощью iText Java

то, что я сделал здесь

  try 
       { 
       PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("MonthlyReport.pdf")); 
       document.open(); 
       document.add(new Paragraph("Month End Report.")); 
       //Text file Data 
       try { 
         FileReader reader = new FileReader("MyFile.txt"); 
         int character; 

         while ((character = reader.read()) != -1) { 
          document.add(new Paragraph((char) character)); 
         } 
         reader.close(); 

        } catch (IOException exception) { 
         exception.printStackTrace(); 
        } 


       //Text File Data 


       document.close(); 
       writer.close(); 
       } catch (DocumentException exception) 
       { 
       exception.printStackTrace(); 
       } catch (FileNotFoundException exception) 
       { 
       exception.printStackTrace(); 
       } 

Но проблема в том, что только создает только Month End Report часть. Я уже проверил FileReader, работающий или нет, и он отлично работает. я не понимаю, почему он не работает внутри с document.add

ответ

0

Не знаете, в чем проблема. но после того, как я заменил FileReader на BufferReader. он отлично работал

try (BufferedReader br = new BufferedReader(new FileReader("MyFile.txt"))) 
       { 

        String sCurrentLine; 

        while ((sCurrentLine = br.readLine()) != null) { 
         document.add(new Paragraph(sCurrentLine)); 
        } 

       } catch (IOException exception) { 
        exception.printStackTrace(); 
       } 
+1

Главное отличие в том, что вы теперь читаете по строке, а не по характеру. Чтение по характеру и создание абзаца для каждого персонажа явно не имело никакого смысла как все. – mkl

Смежные вопросы