Skip to content

HiraokaHyperTools/PDFSampleFilter2

Repository files navigation

PDFSampleFilter2

概要

PDF ファイル向けに IFilter (filter.h) - Win32 apps | Microsoft Learn を実装します。

Adobe PDF IFilter 6.0Adobe PDF iFilter 9 for 64-bit platformsAdobe PDF iFilter 11 for 64-bit platforms がもはや提供されなくなったため、その代替品として開発しました。

Windows 10 またはそれ以降で動作します。 つぎの DLL を含んでいます。

  • 32 ビット版 (x86)
  • 64 ビット版 (x64, Arm64X)

PDFium (bblanchon/pdfium-binaries: 📰 Binary distribution of PDFium) を使用しています。

技術情報

以下のうち、いずれか 1 つのインターフェイスを使用して初期化します。

LoadIFilter 関数 (ntquery.h) - Win32 apps | Microsoft Learn を利用した初期化ができます (IPersistFile (objidl.h) - Win32 apps | Microsoft Learn を実装しているため)

提供されるプロパティ例はつぎの通りです。

attribute propType locale contents
{F29F85E0-4FF9-1068-AB91-08002B27B3D9},2 Title 0 Microsoft Word - 文書 12
{F29F85E0-4FF9-1068-AB91-08002B27B3D9},4 Author 0 KU
{F29F85E0-4FF9-1068-AB91-08002B27B3D9},3 Subject 0
{F29F85E0-4FF9-1068-AB91-08002B27B3D9},5 Keywords 0
{B725F130-47EF-101A-A5F1-02608C9EEBAC},19 Search.Contents 0 PDF サンプル#1
{B725F130-47EF-101A-A5F1-02608C9EEBAC},19 Search.Contents 0 PDFサンプル#2
{B725F130-47EF-101A-A5F1-02608C9EEBAC},19 Search.Contents 0 PDF サンプル#3

Title, Author, Subject, Keywords については、空文字列の場合はプロパティを出力しません。

Search.Contents については、ページごとにプロパティを 1 つ出力します。これは内容が空であっても出力するため、ページ数の数だけ出力します。

idChunk は 1 から連番で付与します。スキップしたプロパティについても増分するため、この属性へ依存するアプリは整合性を保つことができます。

idChunkidChunkSource とは、常に同じ値を持ちます。

locale, cwcStartSource, cwcLenSource は 0 で固定です。

breakTypeCHUNK_EOS で固定です。

flags について: Title, Author, Subject, Keywords の場合は CHUNK_VALUE を出力します。他の場合については CHUNK_TEXT を出力します。

ビルド方法

Visual Studio 2022 を使ってビルドします。

以下のフォルダーについて、つぎのサイトからバイナリを入手してアーカイブを展開してください bblanchon/pdfium-binaries: 📰 Binary distribution of PDFium:

pdfium-win-arm64
pdfium-win-x64
pdfium-win-x86

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published