2017-02-03 6 views
2

私はPDFとして変換したいアンドロイドの線形レイアウトを持っています。多くの場合、このPDFは複数のページにまたがります。コンテンツを1ページのPDFに変換することはできますが、PDFを複数のページに分割するのは難しいことです。私は以下の関連するコードブロックを与えて、簡単にするためにいくつかの数字をハードコードしました。ここでは、PdfDocument.PageInfo.Builderは、幅、高さ、ページ番号の3つの引数をとります(以前は、APIではこれ以上機能していない新しいRect(0,0,800,100)を受け入れました)。今、forループを繰り返すと、複数ページのPDFでどのように異なるコンテンツを取得できるかわかりません。下のコードは、幅と高さに基づいており、座標に基づいていないため、すべてのページで同じコンテンツを生成します。私は最後のPDFDocumentのものに取り組んでいるので、私はあなたの質問のために正確な答えを持っていないが、私はそれに私の小さな知識を共有することになりますので、申し訳ありません以上2年ぶりAndroid - PdfDocument - LinearLayoutを複数のPDFページに分割する

PdfDocument.PageInfo pageInfo; 
    int noOfPages = (int)Math.floor(content.getHeight()/1000)+1; 
    for (int i=1;i<=noOfPages;i++) { 
     pageInfo = new PdfDocument.PageInfo.Builder 
       (800,1000,i).create(); 
     PdfDocument.Page page = document.startPage(pageInfo); 
     content.draw(page.getCanvas()); 
     document.finishPage(page); 
    } 

答えて

2

ITSは、それはあなたを助けることを願っています。

  1. Android PDFDocumentでは、個々のPDFページの表示を行います。
  2. PDFページの作成時には、&高さ(PDFサイズ:598px * 842px、A4サイズ)を指定します。
  3. したがって、あなたはPDFPageもPDFPageのサイズと同じサイズでなければならないと書いてください。
  4. 私は、PDFPageのサイズ(幅&の高さ)に一致する正しいサイズ(幅&の高さ)を持つ個々のページのViewを作成する責任があると思います。
  5. PDFDocumentはダンプです。あなたが書いたPDFPageに対して何を見ているかはわからないので、個々のページのビューを作成するのは私どもの責任です。& PDFDocumentに渡してください。

サンプル

私はあなたを助けるかもしれない、戻って2年を書いたコードを見 - https://gist.github.com/apvasanth03/ed903535aed12c93e30b102d9596c399

それはあなたのビューを分割する方法、難しいだろういくつかの行を持つTextViewが含まれている場合、別のページに移動します。私はそれに答えていない。

何か解決策が見つかった場合は、分かち合いましょう。

+0

多くの方に感謝の意を表します。私はこの問題について私の頭を壊してきましたが、これまでのところ、あなたのアプローチと同じ行を考えています。もう一度、助けていただきありがとうございます。 –

+0

A4サイズは595 x 842でなければなりませんか? –

+0

ありがとう、githubコードは私の日を保存! – Hack06

関連する問題