簡體   English   中英

未記錄 windows 內置 PDF 渲染器功能?

[英]Undocumented windows built-in PDF renderer capabilities?

使用Windows.Data.Pdf命名空間,我可以在不使用任何第三方庫的情況下渲染 pdf(作為圖像)。

如果我沒記錯的話,Microsoft 的 Edge 瀏覽器使用相同的庫來呈現 pdf (Windows.Data.Pdf.dll)。 通過查看官方Windows.Data.Pdf文檔我可以看到它只是關於

將可移植文檔格式 (PDF) 文檔中的頁面轉換為圖像文件。

但是,Edge 瀏覽器在呈現 pdf 時具有“搜索文本”功能,我在Windows.Data.Pdf庫中找不到任何地方。

我的問題是,在Windows.Data.Pdf命名空間(或 Windows 內置的其他地方)中是否有任何未記錄(因此非官方)的功能可用? (具體來說,搜索文本 function,我假設我必須能夠 a)提取 pdf 的文本,以便我可以在其上進行搜索,以及 b)獲取呈現頁面上出現的字符串的 XY,以便我可以以某種方式突出顯示它)

常規Windows 10應用程序使用的庫與windows.data.pdf.dll ,它只是Windows.Foundation.UniversalApiContract定義的命名空間。

在此處輸入圖片說明

另一方面, Windows.Data.Pdf.dll是本機函數庫,因此您需要查看是否可以使用DllImport來使用它。

編輯:這是Windows.Data.Pdf.dll DependencyWalker的輸出,您可能感興趣的功能可能是PdfCreateRenderer

在此處輸入圖片說明

對不起,我的回復很晚,但我想永遠不會太晚。 Windows.Data.Pdf僅支持呈現操作。 Windows.Data.Pdf庫中未公開特定於格式的操作(如搜索,注釋枚舉等)。 Windows組件也不依賴Windows.Data.Pdf

我的問題是,在 Windows.Data.Pdf 命名空間(或 Windows 內置的其他地方)中是否有任何未記錄(因此非官方)的功能可用? (具體來說,搜索文本 function,我假設我必須能夠 a)提取 pdf 的文本,以便我可以在其上進行搜索,以及 b)獲取呈現頁面上出現的字符串的 XY,以便我可以以某種方式突出顯示它)

C:\Windows\system32\Windows.Data.Pdf.dll 文件(與 Kanadaj 指出的Windows.Data.Pdf命名空間不同)確實提供了文本提取功能。 但是,此功能不是作為 .NET 庫提供的,而是通過 Windows 搜索使用的IFilter接口提供的。

這是使用 nirsoft 的 SearchFilterView 工具的屏幕截圖:

截屏

IFilter是一個 COM 接口,而不是 .NET 接口。 可以從 .NET 代碼開始使用,盡管需要一些翻譯樣板。 此相關問題包含所有詳細信息和代碼示例:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM