0

ユーザーが入力したフォームの 1 つから PDF を生成するために PDFBox を使用しています。線の描画には PDPageContentStream.drawLine を使用し、テキストには PDPageContentStream.drawString を使用しています。テキストは完璧に機能しますが、drawLine の使用中に PDF を印刷しようとすると、添付の画像に示すようなエラーが発生します。私のコードは次のようになります

PDPage page = new PDPage();
release.addPage(page);
contentStream = new PDPageContentStream(release,page);
int margin = 40;
vertHeight -= thisFontHeight * fontSize * 1.05f + 5;

contentStream.drawLine(margin,vertHeight + margin - 5,                                     page.getMediaBox().getWidth() - margin, vertHeight + margin - 5)

どんな助けでも大歓迎代替テキスト

4

1 に答える 1

2

コード サンプルには表示されませんが、行とテキストが混在していると思われます。BT と ET の間に線を引いてはいけません。

  1. テキストの開始
  2. テキストを描く
  3. 本文終了
  4. 線を引く
  5. テキストを開始
  6. テキストを描く
  7. 本文終了
  8. さらにいくつかの線を引く

たとえば、1 と 3 の間に線を引いた場合、上記のエラー (またはそれに類似したエラー) が発生します。

PS: そうでない場合は、問題を診断するためにサンプル PDF が必要です。

于 2010-12-21T19:54:44.870 に答える