BeginText()
、ShowText()
、EndText()
などの低レベルメソッドでコンテンツを追加するには、PDF仕様(ISO 32000)の知識が必要です。 \n
が無視されているという事実に驚いているという事実は、あなたがPDFに精通していないことを教えてくれます。
iTextのは、PDFの低レベルの構文に対処したくない人のために書かれました。例えば:あなたはiTextを持つ矩形内のテキストを追加したい場合、あなたはちょうどあなたがRectangle
オブジェクトを渡す先のCanvas
オブジェクトを作成する必要があります。
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
PdfPage page = pdf.AddNewPage();
PdfCanvas pdfCanvas = new PdfCanvas(page);
Rectangle rectangle = new Rectangle(36, 650, 100, 100);
Canvas canvas = new Canvas(pdfCanvas, pdf, rectangle);
PdfFont font = PdfFontFactory.CreateFont(FontConstants.TIMES_ROMAN);
PdfFont bold = PdfFontFactory.CreateFont(FontConstants.TIMES_BOLD);
Text title =
new Text("The Strange Case of Dr. Jekyll and Mr. Hyde").SetFont(bold);
Text author = new Text("Robert Louis Stevenson").SetFont(font);
Paragraph p = new Paragraph().Add(title).Add(" by ").Add(author);
canvas.Add(p);
pdf.Close();
この例では、オンラインiTextの7のchapter 2で見つけることができますチュートリアル。
スクリーンショットは、長い文章がRectangle
内部加えを示し、その文は、異なるライン上に分布得た方法(自動的に新しい行を導入します)。 \n
文字のコンセプトはPDFには存在しません(疑わしいときはISO 32000をチェックしてください)。あなたは改行を紹介したい場合は、それが1 Paragraph
、別のParagraph
内の他の部分にコンテンツの一部を置くのに十分なのです。
あなたが矩形内に収まるテキストを追加したい場合は、なぜあなたは、低レベルのメソッドを使用していますか?このチュートリアルの[第2章](http://developers.itextpdf.com/content/itext-7-building-blocks/chapter-2-working-rootelement)を参照してください。はるかに簡単なやり方で何かを難しいやり方でやりたい理由はありますか? –