2015-04-02 4 views
0

У меня есть проблема в создании PDF с использованием IText в андроиде затменияСоздания PDF в андроиде с помощью IText

Я не может создать PDF-файл, если записи начальной загрузки, приведены, в моем случае Android 5.0.1. Если я удаляю записи в bootstrap, я могу создать pdf-файл, но не могу начать эту деятельность, так как Android-версия 5.0.1 содержит андроид-банку. Не могли бы вы рассказать мне, как я могу исправить эту проблему? Также, если я делаю это классом неактивности, я хочу иметь возможность создать объект класса Non activity в другом классе активности, чтобы я мог вызвать метод из класса активности. Скажите, пожалуйста, как это сделать.

ответ

0

Загрузить iText API отсюда http://itextpdf.com/product/itextg и добавить это в свой проект.

Используйте этот класс и вызвать необходимые функции для создания PDF

public class CreatePDF { 

    private static Font normalFont = new Font(Font.FontFamily.TIMES_ROMAN, 25, 
      Font.NORMAL, BaseColor.BLACK); 

    private static Font Head = new Font(Font.FontFamily.TIMES_ROMAN, 35, 
      Font.BOLD, BaseColor.BLACK); 

    //Path is the path where you want your pdf to get stored 
    public void createPDFDoc(ArrayList<notesWrapper> notesList,String path) { 
     // TODO Auto-generated method stub 
     Document document = new Document(); 
     try { 
      PdfWriter.getInstance(document, new FileOutputStream(path)); 
      document.open(); 

      for(int i=0;i<notesList.size();i++) 
      {    


       addContentHead(document,"Image "+(i+1));     
       addContent(document,notesList.get(i).message); 
       if(i<notesList.size()) 
       { 
        document.newPage(); 
       } 
      } 

      document.close(); 

     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

    private void addContent(Document document,String content) throws DocumentException { 


     Paragraph preface = new Paragraph();    
     addEmptyLine(preface, 1); 

     if(!content.equalsIgnoreCase("insert note")) 
     preface.add(new Paragraph(content, normalFont)); 

     else 
      addEmptyLine(new Paragraph(), 1); 

     addEmptyLine(preface, 3); 
     document.add(preface); 



    } 


    private void addContentHead(Document document,String content) throws DocumentException { 


     Paragraph preface = new Paragraph();    
     addEmptyLine(preface, 1); 

     preface.add(new Paragraph(content, Head)); 
     addEmptyLine(preface, 3); 
     document.add(preface); 



    } 



    private static void addEmptyLine(Paragraph paragraph, int number) { 
     for (int i = 0; i < number; i++) { 
      paragraph.add(new Paragraph(" ")); 
     } 
    } 


} 
+0

По IText API у вида .jar файл? У меня уже есть файл jar, и я добавил его в путь сборки. Я хочу быть в состоянии прийти к этому классу через класс активности. скажите, пожалуйста, как – Sam

+0

да, конечно, файл jar – Ajeet

+0

, пожалуйста, скажите мне, как прийти к этому классу из класса активности, например. – Sam

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