🕌
Windows.Data.Pdfを非UWP環境で使う
はじめに
PDFをイメージにレンダリングするにあたり、UWPにはWindows.Data.Pdf名前空間のライブラリが提供されており、簡単に実現することができます。
これを非UWPな.NET Frameworkや.NETから利用する方法を解説します。
前提条件
Windows 10以降のOSである必要があります。
当然ですが.NETで動かしてもLinuxなどでは動作しません。
プロジェクト設定
サンプルの.csprojを下記に記載します。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net8.0-windows10.0.19041.0;net481-windows10.0.19041.0</TargetFrameworks>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net481-windows10.0.19041.0'">
<Reference Include="Windows">
<HintPath>..\..\..\..\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.22000.0\Windows.winmd</HintPath>
<IsWinMDFile>true</IsWinMDFile>
</Reference>
<PackageReference Include="System.Runtime.WindowsRuntime" Version="4.7.0" />
</ItemGroup>
</Project>
ポイントは2点。
- TargetFrameworkにWindows10以降の具体的なバージョン番号まで記載する
- .NET Frameworkの場合、ItemGroupで記載しているWindows.winmdとSystem.Runtime.WindowsRuntimeの参照を追加する
.NET 6.0+の場合は、TargetFrameworkの記載だけで利用できます。
C#コードサンプル
下記に公開しているので参考にどうぞ。
Discussion