Difference between revisions of "ReNamer:Scripts:Xpdf"
Jump to navigation
Jump to search
(→Code: source tag) |
(Updated script for ReNamer 5.70 and Xpdf 3.03) |
||
Line 2: | Line 2: | ||
== Requirements == | == Requirements == | ||
− | * ReNamer 5. | + | * ReNamer 5.70 |
− | * [http://www.foolabs.com/xpdf/download.html pdfinfo.exe] 3. | + | * [http://www.foolabs.com/xpdf/download.html pdfinfo.exe] 3.03 in ReNamer's folder |
== Code == | == Code == | ||
− | Author: Denis Kozlov. Date: | + | Author: Denis Kozlov. Date: 2013-04-01. Modify the <code>TAG</code> constant to specify which tag you want to extract. For the list of available tags consult [http://www.foolabs.com/xpdf/ Xpdf] web site or <code>pdfinfo.exe</code> command line tool. |
<source> | <source> | ||
− | { Extract PDF | + | { Extract PDF tags using Xpdf } |
− | + | ||
const | const | ||
− | + | EXE = 'pdfinfo.exe'; | |
− | + | TAG = 'Title\s*\:\s*(.*?)[\r\n]'; | |
− | + | ||
− | |||
var | var | ||
− | + | Command, Output: String; | |
− | + | Matches: TStringsArray; | |
+ | |||
begin | begin | ||
− | + | Command := '"'+EXE+'" "'+FilePath+'"'; | |
− | + | if ExecConsoleApp(Command, Output) = 0 then | |
− | |||
− | |||
begin | begin | ||
− | + | Matches := SubMatchesRegEx(Output, TAG, False); | |
− | if | + | if Length(Matches) > 0 then |
− | + | FileName := Matches[0] + WideExtractFileExt(FileName); | |
− | |||
− | |||
− | |||
end; | end; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
end. | end. | ||
</source> | </source> |
Revision as of 13:22, 1 April 2013
Script integrates Xpdf command line tool in order to extract PDF tags.
Requirements
- ReNamer 5.70
- pdfinfo.exe 3.03 in ReNamer's folder
Code
Author: Denis Kozlov. Date: 2013-04-01. Modify the TAG
constant to specify which tag you want to extract. For the list of available tags consult Xpdf web site or pdfinfo.exe
command line tool.
{ Extract PDF tags using Xpdf }
const
EXE = 'pdfinfo.exe';
TAG = 'Title\s*\:\s*(.*?)[\r\n]';
var
Command, Output: String;
Matches: TStringsArray;
begin
Command := '"'+EXE+'" "'+FilePath+'"';
if ExecConsoleApp(Command, Output) = 0 then
begin
Matches := SubMatchesRegEx(Output, TAG, False);
if Length(Matches) > 0 then
FileName := Matches[0] + WideExtractFileExt(FileName);
end;
end.