2010-12-21 10 views
0

Ich benutze PDFBox zum Generieren einer PDF von einem meiner Benutzer eingegebene Formulare. Zum Zeichnen einer Linie verwende ich PDPageContentStream.drawLine und für Text PDPageContentStream.drawString. Der Text funktioniert perfekt, aber während ich DrawLine benutze, erhalte ich den Fehler, wenn ich versuche, die PDF zu drucken, wie im angehängten Bild gezeigt. Mein Code sieht wie folgt auspdfbox Fehler für die Verwendung von PDPageContentStream.drawLine

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) 

Jede Hilfe alt text

Antwort

2

Ihr Codebeispiel geschätzt es nicht zeigen, aber ich vermute, dass Sie Linien und Text abmischen. Sie dürfen keine Linien zwischen BT und ET zeichnen.

  1. beginnen Text
  2. einen Text zeichnen
  3. Ende Text
  4. eine Linie zeichnen
  5. beginnen Text
  6. einen Text zeichnen
  7. Ende Text
  8. einige weitere Linien zeichnen
  9. usw.

Wenn Sie beispielsweise eine Linie zwischen 1 und 3 gezeichnet haben, erhalten Sie den obigen Fehler (oder einen ähnlichen Fehler).

PS: Wenn das nicht der Fall ist, benötigen wir ein Beispiel-PDF, um das Problem zu diagnostizieren.

+0

Danke Mark, das hat funktioniert !! Ich zeichnete Linien zwischen BT und ET, fand keine Ressource, die das sagte. – mona

+1

Dieser tut: http://www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf –

Verwandte Themen