PDFを生成するためにビューの合計の高さを取得し、何ページ描画する必要があるかを知る必要があります。
データベースからのデータを含む ScrollView を含む画面コンテンツを使用して PDF を生成する必要があります。
これのためにテスト プロジェクトを作成しました。以下のコードを参照してください。
XML を変更して画像を追加しても、このコードでは常に同じ番号が返されます。
リーリーこれは PDF を生成するコードです:
リーリーこれは私の XML ファイルです:
リーリー ###@編集: 私が試したことへのリンクは次のとおりです。 Android: ScrollView の合計の高さレイアウトがいつ描画されたかを知るにはどうすればよいですか?
@Edit2: これは PDF を作成するためのチュートリアルです (生成されるのは 1 ページのみなので、より多くのページを生成するコードは私が見つけたものです) https://www.youtube.com/watch?v=-JC1PI-dSeEE
ドキュメントに従って Measurespec を EXACTLY に設定する場合
つまり、画面サイズに基づいて計算された間違ったサイズにビュー サイズを強制していることになります。PDF ビューを描画するときは、PDF ページを画面に合った興味深いサイズに設定することも、A4 などの標準の用紙サイズに設定することもできます
標準以外の幅を選択した場合は、標準以外の高さを使用して 1 ページのみにすることもできます。その後、ユーザーがそれを印刷したい場合は、複数の幅と高さのページに分割する必要があります。ユーザーの観点から見ると、画面上で PDF を表示するだけの場合、複数のページを使用するメリットはありません。
PDF の標準ページ サイズを維持し、デバイスの物理的な画面サイズとは関係なく、PDF を別の低解像度画面として扱う方がよいと思います (ページを上下にスクロールできます)。左右) ###
単一のビューを測定する場合、ビュー全体とそのすべてのサブビューを測定することになり、スライス (2 ページ目と 3 ページ目で確認したいもの) を測定することはできません。
ビューから複数ページの PDF を作成するには、主に 2 つの方法があります。
は、個々のサブビュー (この場合、スクロール可能な画面) を測定することによって、スクロール可能な画面から複数ページの PDF を生成する方法の完全な例です。 screen はリサイクル ビューですが、同様の方法でスクロール ビューの子を反復処理できます)。 A4 ページの解像度は非常に低いため、物理画面の通常のフォント サイズ (またはその他の項目サイズ) は大きすぎる可能性があることに注意してください。そのため、通常、別のページで行うのと同じように、これらのページのレイアウトのサイズも変更する必要があります。画面サイズ)。低解像度の PDF ページのサイズを変更し、PDF ページ サイズの倍数で描画し、PDF キャンバスでスケールを設定して正しいサイズに戻す別の方法もあります。たとえば、2 倍のレイアウトに描画します。次に、PDF ページに描画するときにすべてを半分のサイズに戻します。
発生する可能性のある問題は、テキストビューのブロック内に 1 ページに収まるよりも多くのテキストが含まれる可能性があることですが、その場合は 1 つではなく 2 つのテキストビューを作成するための追加の処理が必要になります。
以上がビューの合計の高さを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。