2016-06-22 4 views
2

私はiText 7を数日間使用してPDFファイルを作成していますが、残念ながらiText 7はiText 5と大きく異なり、ドキュメントはまだまだ不完全です。iText 7:異なるフォントを混ぜて段落を構築するには?

私は2つのフォントまたは2つのフォントスタイル(例:段落の途中で太字のテキストを持っている)をミックスし、段落を構築しようとしている:

これはチャンクを使用して行われることになるiTextの5を使用して

Font regular = new Font(FontFamily.HELVETICA, 12); 
Font bold = Font font = new Font(FontFamily.HELVETICA, 12, Font.BOLD); 
Phrase p = new Phrase("NAME: ", bold); 
p.add(new Chunk(cc_cust_dob, regular)); 
PdfPCell cell = new PdfPCell(p); 

iText 7を使用しても、私はまだこれを行う方法が見つかりませんでした。

iTextの最後のバージョンを使用している人は誰ですか?

注:私はCSHARPを使用していますが、Javaは

おかげで、

ルイス・Pinho

答えて

5

は、ドキュメントを読んでください、より具体的にiText 7: building blocks "Chapter 1: Introducing the PdfFont class"

その章では、あなたにも便利ですデフォルトのフォントとフォントサイズで作業できるので、iText 7を使うときにフォントを切り替える方がはるかに簡単であることを発見しました。Styleオブジェクトを定義して再利用することができます。

例:

Style normal = new Style(); 
PdfFont font = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN); 
normal.setFont(font).setFontSize(14); 
Style code = new Style(); 
PdfFont monospace = PdfFontFactory.createFont(FontConstants.COURIER); 
code.setFont(monospace).setFontColor(Color.RED) 
    .setBackgroundColor(Color.LIGHT_GRAY); 
Paragraph p = new Paragraph(); 
p.add(new Text("The Strange Case of ").addStyle(normal)); 
p.add(new Text("Dr. Jekyll").addStyle(code)); 
p.add(new Text(" and ").addStyle(normal)); 
p.add(new Text("Mr. Hyde").addStyle(code)); 
p.add(new Text(".").addStyle(normal)); 
document.add(p); 

まず我々はnormalを呼び出すStyleを定義し、それが14ポイントのTimes-ローマンを使用しています。次にStyleを定義し、それはcodeと呼ばれ、灰色の背景を持つ赤色の12 pt Courierを使用します。

次に、これらのスタイルを使用するオブジェクトTextを使用してParagraphを作成します。

なお、することができますチェーンadd()コメント、この例で行われているよう:

Text title1 = new Text("The Strange Case of ").setFontSize(12); 
Text title2 = new Text("Dr. Jekyll and Mr. Hyde").setFontSize(16); 
Text author = new Text("Robert Louis Stevenson"); 
Paragraph p = new Paragraph().setFontSize(8) 
    .add(title1).add(title2).add(" by ").add(author); 
document.add(p); 

は、私たちは、新しく作成された Paragraph 8へのPTのフォントサイズを設定します。オブジェクトがデフォルトサイズをオーバーライドしない限り、このフォントサイズは Paragraphに追加されたすべてのオブジェクトに継承されます。これは title1のフォントサイズを12pt、 title2を16ptのフォントサイズで定義した場合です。 String" by ")として追加されたコンテンツと、フォントサイズが定義されていない Textオブジェクトとして追加されたコンテンツは、それらが追加された Paragraphからフォントサイズ8ptを継承します。

これは公式チュートリアルのコピー/ペーストです。私はこれが "Link-only"の答えが許されないStackOverflowのために十分であることを望みます。この「no-link-only answersルール」は、マニュアルの全章をコピー/ペーストするべきではありません。

+2

こんにちは。 私はサイト上でこの情報を探していましたが、それを見つけることができませんでした。サイトのエントリポイントはどこですか? (投稿したリンクをクリックする以外に) このサイトのチュートリアルでは、http://developers.itextpdfを紹介しています。com/content/itext-7-jump-start-tutorial – lpinho

関連する問題