Proste rysunki do PDF

Proste rysunki do PDF
Taruun
  • Rejestracja:ponad 16 lat
  • Ostatnio:prawie 12 lat
0

Witam,
zastanawiam się w jaki sposób można prosty rysunek typu prostokąt lub okrąg wygenerować do pdf. Znalazłem bibliotekę IText ale na razie udało mi się wygenerować pdf z tekstem. Macie jakieś pomysły????

galleanv
  • Rejestracja:prawie 15 lat
  • Ostatnio:prawie 9 lat
0

Z tego co znam:
Apache FOP (http://xmlgraphics.apache.org/fop/)
Crystal Reports

edytowany 1x, ostatnio: galleanv
tomasz79
  • Rejestracja:około 15 lat
  • Ostatnio:ponad rok
  • Postów:52
0
edytowany 1x, ostatnio: tomasz79
Koziołek
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:15 dni
  • Lokalizacja:Stacktrace
  • Postów:6821
0

W iText można dodawać obrazki: http://www.geek-tutorials.com/java/itext/itext_image.php

Jednak jak chcesz generować dynamiczne PDFy to zamiast iTexta użyj Jasper Reports. Jest znacznie prościej.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
rhkaras
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 6 lat
  • Postów:18
0

W tej chwili już z IText nie korzystam, ale swego czasu troche eksperymentowałem i wydruk czegokolwiek jest bardzo prosty. Można drukować wszystko tak samo jak rysuje sie na przykład po komponentach SWING. Bierzesz kontekst graficzny metodą getGraphics z jakiegoś obiektu IText (juz nie pamietam z jakiego) i malujesz co się podoba.

public void createPdf() {
Document document = new Document(new Rectangle(w, h));
try {
PdfWriter writer = PdfWriter.getInstance(document,
new FileOutputStream("sun_tutorial.pdf"));
document.open();
PdfContentByte cb = writer.getDirectContent();
Graphics2D g2 = cb.createGraphics(w, h);
paint(g2);
g2.dispose();
} catch (Exception e) {
System.err.println(e.getMessage());
}
document.close();
}

Swego czasem kupiłem sobie bardzo fajną książkę o IText in Action (pisaną przez autora biblioteki) i tam szwysko było kawa na ławę. Kod powyzej jest z tej ksiązki.

Jarek

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.