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. Windows 10

    Selenium WebDriverでChromium版Edgeを操作してみました。

    先日書いた下記記事の通り、Chromium版Microsoft Edg…

  2. PowerShell

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

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

  3. Power Automate for desktop

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

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

  4. Office関連

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

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

  5. Office関連

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

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

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP