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. Power Automate for desktop

    Power Automate Desktopを更新するPowerShellスクリプト

    公式ブログを見れば分かる通り、Power Automate Deskt…

  2. Office関連

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

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

  3. Office関連

    Excel REST APIをPowerShellから呼び出す方法

    以前Excel REST APIをVBAから呼び出す方法を紹介しました…

  4. Windows 10

    PowerShellでMicrosoft Edgeを操作する

    前回の記事でWebDriverを使ってMicrosoft Edgeを操…

  5. PowerShell

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

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

  6. PowerShell

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

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

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP