2017-02-10 23 views
10

android.graphics.pdfを使用してPDFを作成しようとしています。私の問題は複数のページです。私はandroid.graphics.pdf htmlを与えることができ、PDFに印刷することができます。テキストが設定されたページサイズをオーバーフローした場合、これは機能しません。それはすべてのHTMLを与えることは可能ですか、それはページサイズに関するコンテンツに応じて複数のページを作成するでしょうか? TCPDFと同様に:android.graphics.pdfを使用して複数ページのPDFを作成する

注意。私は、コンテンツの高さを計算して別々の複数のページを作成することを避けようとしています。あなたのプロジェクトにiTextGのjarファイルを追加する必要があります。このため

+0

ちょっとこのリンクにしてみてください、あなたはあなたの答えhttp://stackoverflow.com/a/36349822を取得することがあり/ 2888952 – Arpan24x7

+0

コンテンツがオーバーフローしたときにエラーがスローされますか? – Michael

答えて

0

public void createandDisplayPdf(String text) { 

    Document doc = new Document(); 

    try { 
     String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Dir"; 

     File dir = new File(path); 
     if(!dir.exists()) 
      dir.mkdirs(); 

     File file = new File(dir, "newFile.pdf"); 
     FileOutputStream fOut = new FileOutputStream(file); 

     PdfWriter.getInstance(doc, fOut); 

     //open the document 
     doc.open(); 

     Paragraph p1 = new Paragraph(text); 
     Font paraFont= new Font(Font.COURIER); 
     p1.setAlignment(Paragraph.ALIGN_CENTER); 
     p1.setFont(paraFont); 

     //add paragraph to document 
     doc.add(p1);  

    } catch (DocumentException de) { 
     Log.e("PDFCreator", "DocumentException:" + de); 
    } catch (IOException e) { 
     Log.e("PDFCreator", "ioException:" + e); 
    } 
    finally { 
     doc.close(); 
    } 

    viewPdf("newFile.pdf", "Dir"); 
} 

// Method for opening a pdf file 
private void viewPdf(String file, String directory) { 

    File pdfFile = new File(Environment.getExternalStorageDirectory() + "/" + directory + "/" + file); 
    Uri path = Uri.fromFile(pdfFile); 

    // Setting the intent for pdf reader 
    Intent pdfIntent = new Intent(Intent.ACTION_VIEW); 
    pdfIntent.setDataAndType(path, "application/pdf"); 
    pdfIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

    try { 
     startActivity(pdfIntent); 
    } catch (ActivityNotFoundException e) { 
     Toast.makeText(TableActivity.this, "Can't read pdf file", Toast.LENGTH_SHORT).show(); 
    } 
} 
関連する問題