0

重命名文件本身PDF后如何获取文件的标题?

PSPath              : Microsoft.PowerShell.Core\FileSystem::/home/nicholas/to/99.pdf
PSParentPath        : Microsoft.PowerShell.Core\FileSystem::/home/nicholas/to
PSChildName         : 99.pdf
PSDrive             : /
PSProvider          : Microsoft.PowerShell.Core\FileSystem
PSIsContainer       : False
Mode                : -----
ModeWithoutHardLink : -----
VersionInfo         : File:             /home/nicholas/to/99.pdf
                      InternalName:     
                      OriginalFilename: 
                      FileVersion:      
                      FileDescription:  
                      Product:          
                      ProductVersion:   
                      Debug:            False
                      Patched:          False
                      PreRelease:       False
                      PrivateBuild:     False
                      SpecialBuild:     False
                      Language:         
                      
BaseName            : 99
Target              : 
LinkType            : 
Length              : 592483
DirectoryName       : /home/nicholas/to
Directory           : /home/nicholas/to
IsReadOnly          : False
FullName            : /home/nicholas/to/99.pdf
Extension           : .pdf
Name                : 99.pdf
Exists              : True
CreationTime        : 2/19/2021 11:45:18 PM
CreationTimeUtc     : 2/20/2021 7:45:18 AM
LastAccessTime      : 2/20/2021 2:02:36 AM
LastAccessTimeUtc   : 2/20/2021 10:02:36 AM
LastWriteTime       : 2/19/2021 11:45:18 PM
LastWriteTimeUtc    : 2/20/2021 7:45:18 AM
Attributes          : Normal


PS /home/nicholas/to> 
PS /home/nicholas/to> Get-ChildItem -Path ./ –File | Select-Object -Property *

PDF这是将文件批量导入到calibre中,值得注意的是,它似乎可以识别重复项,甚至显示一些标题。它是解析PDF文件本身,还是从数据中收集?

4

1 回答 1

1

为此,您可以使用pdfinfo.exe它作为免费Xpdf 命令行工具的一部分。

下载并解压缩 zip 文件后,复制pdfinfo.exe到某个目录并确保通过右键单击或使用 PowerShell取消阻止它

Unblock-File -Path 'Where\Ever\You\Have\Copied\It\To\pdfinfo.exe'

使用它,要获得存储在 pdf 中的原始标题,您可以

$title = ((& 'D:\Test\pdfinfo.exe' 'D:\Test\test.pdf' | 
    Where-Object { $_ -match '^Title:' }) -split ':', 2)[-1].Trim()
于 2021-02-21T15:17:21.250 回答