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サイト

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

【アイカツオンパレード!】たまごっちとのスペシャルコラボに行ってきました。前のページ

Officeアプリケーションの「最近使用したファイル」を削除するVBScript次のページ

関連記事

  1. PowerShell

    [PowerShell]MailKitを使ってサーバー上のメールを確認する方法(POP3)

    先日からMailKitを使ってメール送信を行うPowerShellのコ…

  2. PowerShell

    SlackのメッセージをCSVファイルとして保存するPowerShellスクリプト

    数日前、今年の9月1日からSlackのフリープランではメッセージ履歴が…

  3. Office関連

    PowerShellからClosedXMLを使ってExcelファイルを作成する方法

    以前C#からClosedXMLを使ってExcelファイルを操作する方法…

  4. Office関連

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

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

  5. PowerShell

    ChromeDriverでBraveを操作するPowerShellスクリプト

    広告をブロックすることによって素早くページを読み込めるというブラウザー…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP