OEM販売のご相談
ご相談ください!

PDF Tool APIサンプル集:下線付き文字列・取り消し線付き文字列・太字、斜体の文字列・枠で囲った文字列(背景色あり)

PDFの出力先となるファイルパスを指定して
下線付き文字列・取り消し線付き文字列・太字、斜体の文字列・枠で囲った文字列(背景色あり)を書きこんだPDFを出力するコンソールアプリケーションです。

概要

コマンドラインでの実行例

sample.exe c:\sav\out.pdf

ダウンロード

出力結果イメージ

出力結果イメージ

サンプルコード

         /*
            Antenna House PDF Tool API 7.0
            C# Interface sample program
         
            概要:下線付き文字列・取り消し線付き文字列・太字、斜体の文字列・枠で囲った文字列(背景色あり)
         
            Copyright 2021 Antenna House,Inc.
         */
         using System;
         using PdfTkNet;
         
         namespace sample02cs
         {
             class Program
             {
                 static void Main(string[] args)
                 {
                     Console.WriteLine("PDF Tool API V7.0 C# サンプル");
         
                     // 出力ファイル名の初期値を設定
                     string outFilePath = @"C:\sav\out.pdf";
         
         
                     // 出力ファイル名
                     if (args.Length > 0)
                     {
                         outFilePath = args[0];
                     }
         
                     try
                     {
                         using (PtlParamOutput output = new PtlParamOutput(outFilePath))
                         using (PtlPDFDocument doc = new PtlPDFDocument())
                         using (var option = new PtlOption())
                         {
                             option.setUnit(PtlOption.UNIT.UNIT_MM);
         
                             string fontName = "メイリオ";
                             float fontSize = 24.0f;
         
                             using (PtlParamFont fontNormal = new PtlParamFont(fontName, fontSize, false, false, true))
                             using (PtlParamFont fontBoldItalic = new PtlParamFont(fontName, fontSize, true, true, true))
                             using (PtlPages pages = doc.getPages())
                             using (PtlPage newpage = new PtlPage())     // 新しいページ
                             using (PtlRect rectA4 = new PtlRect(0.0f, 0.0f, 297.0f, 210.0f)) // A4横用紙
                             {
                                 newpage.setViewBox(rectA4);
                                 pages.append(newpage, PtlPages.INSERT_OPTION.OPTION_NONE);
         
                                 using (PtlSize pageSize = newpage.getSize())
                                 using (var content = newpage.getContent())
                                 {
                                     using (PtlRect rect = new PtlRect(10, 10, pageSize.getWidth() - 20, pageSize.getHeight() - 60))
                                     using (PtlTextBox textBox = content.drawTextBox(rect, PtlContent.ALIGN.ALIGN_TOP_LEFT, pageSize.getWidth() - 30, pageSize.getHeight() - 70))
                                     using (PtlParamWriteStringTextBox paramWriteString = new PtlParamWriteStringTextBox())
                                     using (PtlParamWriteStringTextBox paramWriteStringBoldItalic = new PtlParamWriteStringTextBox())
                                     {
                                         paramWriteString.setFont(fontNormal);
         
                                         paramWriteString.setUnderline(true);
                                         string text1 = ("下線はPtlParamWriteStringTextBoxで指定して書くことができます。");
                                         textBox.writeStringNL(text1, paramWriteString);
                                         paramWriteString.setUnderline(false);
         
                                         textBox.writeNL();
         
                                         paramWriteString.setStrikeOut(true);
                                         string text2 = ("取り消し線はPtlParamWriteStringTextBoxで指定して書くことができます。");
                                         textBox.writeStringNL(text2, paramWriteString);
                                         paramWriteString.setStrikeOut(false);
         
                                         textBox.writeNL();
         
                                         paramWriteStringBoldItalic.setFont(fontBoldItalic);
                                         string text3 = ("太字、斜体のフォントスタイルはPtlParamFontで設定します。");
                                         textBox.writeStringNL(text3, paramWriteStringBoldItalic);
                                         textBox.terminate();
                                     }
         
                                     using (PtlColorDeviceRGB colorBack = new PtlColorDeviceRGB(1.0f, 0.8f, 0.8f))
                                     using (PtlColorDeviceRGB colorRed = new PtlColorDeviceRGB(1.0f, 0.0f, 0.0f))
                                     using (PtlRect rect = new PtlRect(130, 10, pageSize.getWidth() - 10, pageSize.getHeight() - 150))
                                     using (PtlTextBox textBox2 = content.drawTextBox(rect, PtlContent.ALIGN.ALIGN_TOP_LEFT, pageSize.getWidth() - 140, pageSize.getHeight() - 160))
                                     using (PtlParamWriteStringTextBox paramWriteString = new PtlParamWriteStringTextBox())
                                     using (PtlParamWriteStringTextBox paramWriteStringBoldItalic = new PtlParamWriteStringTextBox())
                                     {
                                         textBox2.setBackColor(colorBack);    // 背景色を設定
                                         textBox2.setOutlineColor(colorRed);  // テキストボックスの縁取り色を設定
                                         textBox2.setOpacity(0.6f);           // 不透明度を設定
                                         textBox2.fitToBBox(false);           // TextBoxのサイズをテキストに合わせるかどうか(true:合わせる)
         
                                         paramWriteString.setFont(fontNormal);
         
                                         string text1 = ("枠で囲った文字列(背景色あり)は PtlTextBox に色を指定して書くことができます。");
                                         textBox2.writeStringNL(text1, paramWriteString);
         
                                         textBox2.terminate();
                                     }
                                 }
                                 doc.save(output);
                                 Console.WriteLine("-- 完了 --");
                             }
                         }
                     }
                     catch (PtlException pex)
                     {
                         Console.WriteLine(pex.getErrorCode() + " : " + pex.getErrorMessageJP());
                         pex.Dispose();
                     }
                     catch (Exception ex)
                     {
                         Console.WriteLine(ex.Message);
                     }
                 }
             }
         }