PowerShell

[PowerShell]PdfSharpを使ってPDFファイルを作成する

大分前になりますが、当ブログでiTextSharpを使ってPDFファイルのページ数を取得したり、結合するスクリプトを紹介しました。

最近、PDFを扱えるMITライセンスのライブラリ「PdfSharp」の存在を知ったので、さっそくPowerShellから試してみることにしました。

PdfSharpのインストール

PdfSharpはNuGetでインストールできます。

nuget install PdfSharp

PdfSharpを使ってPDFファイルを作成するスクリプト

さっそく、PDFを作成するスクリプトを書いてみました。

# *** 下記サイト参照 ***
#https://gammasoft.jp/blog/pdf-japanese-font-by-csharp/
#https://qiita.com/KazTag/items/c8a746baf2792ed47852

[void][Reflection.Assembly]::LoadFile("C:\System\PdfSharp\PdfSharp.dll") #DLL読み込み
$doc = New-Object PdfSharp.Pdf.PdfDocument
$doc.Info.Title = "PdfSharpによって作成されたPDF"
$page = $doc.AddPage()
$page.Size = [PdfSharp.PageSize]::A4
$page.Orientation = [PdfSharp.PageOrientation]::Portrait
$gfx = [PdfSharp.Drawing.XGraphics]::FromPdfPage($page)
$font = [PdfSharp.Drawing.XFont]::new("游明朝", "48")
$rect = [PdfSharp.Drawing.XRect]::new(0, 0, $page.Width, $page.Height)
$gfx.DrawString("こんにちは、世界", $font, [PdfSharp.Drawing.XBrushes]::Black, $rect, [PdfSharp.Drawing.XStringFormats]::Center)
$doc.Save("C:\Test\Sample_PdfSharp.pdf")

上記コードを実行すると、無事に指定した場所にPDFが出力されました。

上記の通り、PdfSharpを使うと簡単にPDFファイルを作成することができます。
日本語でも文字化けすること無く、ライセンスは扱いやすいMIT!

コードサンプルを見る限り、PDFの分割結合もできるみたいです。

PowerShellからも比較的簡単に扱えるので、覚えておくといつか役立つかもしれないライブラリですね!

参考Webサイト

今回のスクリプトを作成するにあたって、下記サイトを参考にさせていただきました。

関連記事

  1. Office関連

    PowerShellからNetOfficeを使ってExcelを操作する方法

    先日、Excel MVPの伊藤さんがPowerShellからExcel…

  2. PowerShell

    [PowerShell]iTextSharpを使ってPDFファイルのページ数を取得する

    前回の記事では、VBAでAdobe ReaderからPDFファイルのペ…

  3. PowerShell

    [PowerShell]メール送信用関数

    PowerShellを使ってメール送信する機会が増えてきたので、処理を…

  4. リボン関連

    PowerShellからリボンUIを呼ぶ方法

    下記記事で簡易的なUIとして手軽なHTAを使いました。…

  5. PowerShell

    winmail.datから添付ファイルを取り出すPowerShellコード

    Outlook以外のメールクライアントを使用しているのであれば、一度は…

  6. Office関連

    PowerShellからNetOfficeを使ってWordやPowerPointを操作する方法

    前回の記事関連で、WordやPowerPointもドンとこいで…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP