問題タブ [reportlab]
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.
python - How do I find the baseline of a line of text in Reportlab?
How do I find the baseline for a line of text in Reportlab so I can align other elements on the page with the baseline of the text? I am using canvas.drawString()
for these elements.
python - Django と Reportlab の質問
この小さな Django ビューを作成して、pdf を返しました。
そして私の質問:
- PDF 内で Utf-8 文字が正しく表示されません。
- 画像を含めるにはどうすればよいですか?
- 次のような非常に基本的な html を含めるにはどうすればよいですか。
.
python - python reportlab - registerFont - django - しばらくするとフォントが利用できなくなります
reportlab で使用するフォントを登録するのに最適な時期を考えています。次の行を settings.py に追加しました。
この呼び出しの後、フォントは PDF 生成に使用できます。しかし、数日後にフォントが使用できなくなり、django アプリを再起動する必要が生じ、フォントが再登録されます。
私がすでに試したアプローチの 1 つは、各 pdf 生成呼び出しの前にフォントを登録することでした。これは、3-5 呼び出しごとにクラッシュしたため機能しませんでした。
私は、settings.py が reportlab のフォントを登録する正しい場所であるかどうかを知りたいだけです。もしそうなら、数日後にフォントが利用できなくなった理由は何でしょうか!?
- 編集 -
実際に、reportlab と mod-wsgi に問題があることを発見しました。fast-cgi に切り替えたところ、この問題が再び発生することはありませんでした。
python - ReportLabで使用するフォントの追加
関数に使用できるように、PythonReportLabにフォントを追加しようとしています。この関数はcanvas.Canvasを使用してPDFに大量のテキストを描画します。複雑なことは何もありませんが、レイアウトの問題のために固定幅フォントを追加する必要があります。
見つけた情報を少し使ってフォントを登録しようとすると、うまくいったようです。しかし、Canvasオブジェクトから.addFont('fontname')を呼び出そうとすると、取得し続けます
「PDFDocumentインスタンスには属性「addFont」がありません」
関数が実装されていないだけですか?.getAvailableFontsにリストされている10個程度のデフォルトフォント以外のフォントにアクセスするにはどうすればよいですか?ありがとう。
私が実現しようとしていることのいくつかのサンプルコード:
フォントを登録するために、私は試しました
ここで、「ghettomarquee.ttf」は私がうそをついたランダムなフォントでした。
python - reportlabを使用して既存のPDFにテキストを追加する
プログラムで既存のPDFフォームに記入することに興味があります。私が本当にする必要があるのは、ユーザー入力から情報を引き出し、適切な場所にある既存のPDFの上に適切なテキストを配置することだけです。同じ用紙を2回プリンターに送ることで、reportlabでこれをすでに行うことができますが、これは本当に間違った方法で私をこすります。
ユーザーが入力したテキストを追加する前に、既存の各PDFを個人的にリバースエンジニアリングし、すべての線と文字を自分で描画したいのですが、既存のPDFを取得して、いくつかの余分なテキストの背景。Pythonは私が快適に感じる唯一の言語なので、私は本当にPythonを使用したいと思います。
また、ドキュメント自体をスキャンして、結果のラスターイメージを背景として使用できることも理解していますが、ベクターグラフィックスの精度を優先したいと思います。
ReportLabにはこの機能を備えた商用製品があり、私が探している特定の機能が含まれているようです(copyPages)-しかし、非営利目的の単一の単純な機能に対して4桁の製品にお金を払うのはやり過ぎのようです。
python - ReportLab の動的スペーサー
Platypus を使用して、動的コンテンツを含む PDF ファイルを自動的に生成しています。
これは、テキスト コンテンツ (pdf ファイルのすぐ下にある) の長さが異なる場合があることを意味します。
ただし、コンテンツが長すぎる場合、改ページが行われることがあります。これは、「静的」スペーサーを使用しているためです。
私は常に1ページだけにしたいので、ページに残っているスペースの「残り」がスペーサーによってその高さとして取得されるように、スペーサーの高さを動的に設定する必要があります。
では、ページに残っている高さの「残り」を取得するにはどうすればよいですか?
python - Reportlab でこのフォームを複製する私のアプローチは正しいですか?
Python/reportlab を使用して、ここに表示されているフォームを生成する必要があります。
http://www.flickr.com/photos/49740282@N06/4563137758/sizes/o/
私はこれを行うために、上部のヘッダー用にフロー可能なカスタムを作成し (ボックスが描画されている)、下のジュエリー テーブル用にフロー可能なテーブルを作成しようとしています。この例で JEWELRY テーブルとして示されているものは、複数のテーブルである可能性があります。描画されたヘッダーを「フロー」にするのに問題があります。描画されますが、テーブル データが下に表示されるのではなく、オーバーレイされます。
これは、reportlab を使用した最初のプロジェクトです。これを実際にデバッグする前に、私のアプローチがここで正しいかどうか、レポートラボの経験がある人から知りたいです。ありがとう!
pdf - Adobe Reader 以外のほとんどのリーダーで動作する動的に生成された PDF ファイル
ユーザー入力から動的に PDF を生成しようとしています。ここでは、基本的にユーザー入力を印刷し、作成していない既存の PDF にオーバーレイします。
1つの大きな例外を除いて、機能します。Adobe Reader は、Windows または Linux で正しく読み取れません。私の電話の QuickOffice もそれを読みません。だから私はファイルを作成する私のパスをたどると思った -
1 -
LZW エンコーディングを使用して Adobe Distiller で作成された背景 PDF 1.2 の元の PDF 。
私はこれを作りませんでした。
2 - Ghostscript で作成された背景
PDF 1.4 の PDF。上記で pdf2ps を使用し、次に ps2pdf を使用して LZW を削除し、reportlab および pyPDF ライブラリがそれを認識できるようにしました。このファイルは、Adobe Reader では不適切なスキャンのように「ぼやけて」表示されますが、他のリーダーでは問題なく表示されることに注意してください。
3 -
ユーザー入力から Reportlab で作成された背景 PDF 1.3 と結合するようにフォーマットされたユーザー入力テキストのPDF。
適切に開き、私が試したすべてのリーダーで見栄えがします。
4 - 2 と 3
の PyPDF の関数から作成された完成したPDF PDF 1.3。mergePage()
開かない:
Windows用 Adobe
Reader、Linux 用
Adobe Reader、Android 用 QuickOffice
完全に開く:
Google Docs の Web 上の PDF ビューアーLinux 用の
エビンス Linux 用の Ghostscript
ビューアー Windows 用の Foxit リーダー
Mac 用のプレビュー
知っておくべき既知の問題はありますか? 「フラット」が何であるか正確にはわかりませんが、インターネットから、PDF圧縮のためのLZWに代わるオープンソースのようなものだと思いますか? それが私の問題を引き起こしている可能性がありますか?もしそうなら、コードの原因を修正するために使用できるライブラリはありますか?
python - Reportlab 'LayoutError' の処理とデバッグ
reportlab を使用して、いくつかの複雑な PDF 出力を処理してきました。これらは通常は問題ありませんが、LayoutErrors が発生するケースがまだいくつかあります。これは通常、ある時点で Flowables が大きすぎるためです。
このようなものよりも多くの情報を持っていないことが多いため、これらをデバッグするのはかなり難しいことが証明されています。
それは本当にそれほど役に立ちません。私が理想的に知りたいのは、このようなことに対する最適なデバッグおよびテスト戦略です。
- 壊れた PDF を表示する方法はありますか? つまり、何が起こっているのかをより簡単に確認できるように、レイアウト エラーでレンダリングされます。
- これらのエラーをより適切に処理するために、reportlab にフックを追加する方法はありますか? PDF全体を失敗させるだけではなく?
- このような問題の一般的な改善、テスト、および処理に関するその他の提案。
特定の例がないので、より一般的なアドバイスです。上記の例外は解決しましたが、試行錯誤の結果です(読んで、何が起こるかを推測して見てください)。
python - Python - Reportlab: カスタム フォントの使用エラー
PDFを作成するためにreportlabフレームワークを使用しています。また、PDF で「3of9」と呼ばれるカスタム フォントを使用しています。現在、時々次のエラーが表示されます。
IOError: Cannot open resource "/usr/lib/python2.6/site-packages/reportlab/fonts/LeERC___.AFM", while looking for faceName='3of9'
これは毎回ではありませんが、頻繁に発生します。ほとんどの場合、すべてがうまく機能するため、エラーが発生する理由がわかりません。
これを解決する方法を知っている人はいますか?