問題タブ [uiprintpagerenderer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - UIWebViewPrintFormatter は、HTML コンテンツの高さが増加するにつれて、ヘッダーの下部に空白スペースを増やします。
UIPrintPageRender
HTMLを使用してPDFレポートを生成するカスタムがあります。
私が見つけたのは、最終的にレンダリングされた html が、pageRender の contentHeight として渡した計算された高さを消費せず、ヘッダーと本文のコンテンツの間に空白が残っていることです。
私のテスト中に私が見つけたのは、html コンテンツが大きくなるにつれて、この空白スペースが増えるということです。
渡された四角形の高さdrawHeaderForPageAtIndex:inRect:
は正しいです。これを使用して、ヘッダーの下部を描画することもできます (タイプミスがあり、スクリーンショットにフッターと表示されています)。
また、javascript を使用して HTML コンテンツの高さを計算すると、左側のページ ルーラーと比較できる予想される高さも表示されます。
下の画像では、レンダリングされた html がヘッダーの高さ全体を消費せず、余分なスペースが残っていることがわかります。
ここに元の画像を添付しました!(サムネイルではありません)問題をよりよく説明するために。
以前にこの問題に遭遇した人はいますか、ヘッダーを描画するときに何が間違っているのか知っていますか?
更新:
本文のみを描画するヘッダー/フッターを除外するようにテストを単純化したところ、同じ結果が表示されました。
UIWebViewPrintFormatter
との両方が表示UIMarkupTextPrintFormatter
され、コンテンツが垂直方向に 20% 縮小されます。以下の出力では、ドキュメントの高さが 220px ですが、フォーマッタの出力は ~176px です。
を使用して本文に画像を描画するとUIViewPrintFormatter
、高さが正しいため、ページレンダラー自体に奇妙なことは何もありません。
webViewDidFinishLoad: ドキュメントの高さ: 220.00
pdf ページ サイズ: {595.44006, 841.67999}
SATestPageRendererInit pageRect: {{0, 0}, {595.44006, 841.67999}}, pageMargin: {0, 0, 0, 0}
printableRect: {{0, 0 }, {595.44006, 841.67999}}
pdfContextAddPage: 0 - pageRect: {{0, 0}, {595.44006, 841.67999}}
drawPageAtIndex: 0 inRect: {{0, 0}, {595.44006, 841.67999}}
drawPrintFormatter: forPageIndex: 0 printFormatterRect: {{0, 0}, {595.44006, 176.07098}}
ios - iOSで画像の印刷サイズを変更する
私のアプリでは、ユーザーにクーポンを作成してプレビューしてもらい、そのクーポンを印刷するオプションがあります。現在、クーポン部分のみを含めて画面をトリミングして印刷していますが、フルサイズの 8.5 x 11 に印刷しており、クーポンの背景が黒であるため、大量のインクを使用しています。これを変更して、紙の 2.5 x 3.5 インチのセクションにのみ印刷するにはどうすればよいでしょうか?
ios8 - iOS8 UIPrintPageRenderer がハングする
BNHtmlPdfKit を使用して Html を PDF にレンダリングしています。うまくいきましたが、iOS8ではハングアップします
正直なところ、デバッグの方法さえわかりません。エラー メッセージは表示されず、[続行] を押し続けることができますが、同じブレークポイントで中断するだけです。結局、タイムアウトするだけです。
誰でもアイデアはありますか?
乾杯
ios - カスタムUIPrintPageRendererでUIFontを使用して文字列オブジェクトを描画します
UIPrintPageRenderer をサブクラス化して、AirPrint 経由で印刷するための独自のページを描画しています。フォントのサイズを変更したい単純な String オブジェクトがあります。drawAtPoint withAttributes メソッドを使用すると、文字列は正しい位置に描画されますが、フォント名とサイズは変更されません。UIPrintPageRenderer の drawPageAtIndex メソッド内で NSAttributedStrings を使用することは可能ですか?
サンプルコード:
ios - UIPrintPageRenderer / HTML から PDF への問題: レンダリングされた PDF に追加された余分な空白スペース
UIWebview で HTML を PDF ページにレンダリングする際に、UIPrintPageRenderer を使用すると問題が発生します。HTML には、高さがわかっている複数の行 (....) を持つテーブルが含まれています。
UIWebView はその HTML を適切にレンダリングしますが、UIPrintPageRenderer を介して PDF に変換すると、行間に余分なスペースが追加されることがあります。テーブルの 2 行に添付された例を参照してください。PDF には余分なスペースが追加されていますが、HTML には存在しません。 そのライブラリを使用します: https://github.com/iclems/iOS-htmltopdf どんな助けでもいいです。よろしく、モーガン。
objective-c - UIPrintInteractionController は、向きが横に設定されている場合に空白ページを追加します
を使用してプリンターに文字列を送信しようとしてUIMarkupTextPrintFormatter
いますが、ページの向きを変更しなければすべて問題ありません。デフォルトでは縦に設定されています。
ただし、ページの向きを横に設定すると、余白が最初のページを超えているかのように、レンダリングされた出力に空白のページが 1 つ追加されます。
印刷用のコードは次のとおりです。
もう 1 つ注意すべき点は、ページが横向きに設定されている場合、Xcode は自動レイアウトに関連するいくつかのエラーをログに記録することです。
最初のページだけを印刷しようとしましたが、ページ範囲の設定について何も見つかりませんでしUIMarkupTextPrintFormatter
た。startPage
変数を設定できますが、2 ページ目に設定してもうまくいきません。何も設定しません。
この問題は、空白ページを取り除くか、印刷範囲を 1 ページのみに設定することで解決できますが、これまでのところ、いずれも達成できませんでした。何か案は?
ios - UIPrintPageRenderer / UIPrintInteractionController の印刷ページ設定
iOS アプリで AirPrint を使用して印刷する HTML 文字列があります。ただし、文字列はカスタマイズ可能で、ユーザーはマージン/パディング、フォント/フォント サイズ、向きなどを設定できます。
したがって、出力が 2 ページを超えて、2 ページ目が空白になる場合があります。そこで、印刷するページの範囲を設定したいと思います。実際、出力が何であれ、最初のページだけを印刷したいだけです。
以下は印刷インタラクション コントローラーのダイアログです。範囲が設定されておらず、出力が複数のページになっていることがわかります。
そして、ここに私のコードがあります:
prepareForDrawingPages
メソッドでうまくいくと思っていましたが、範囲の設定に関する十分な情報を見つけることができませんでした。これを達成するためのアイデアはありますか?
swift - UIWebView から PDF を作成
UIWebView から PDF を作成する際に問題が発生しています。
すべて正常に動作しますが、HTML 内で背景画像を使用すると消えてしまいます。誰が何が悪いのか知っていますか?