mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-30 00:01:13 +02:00
fcl-pdf: fixed dump hexstring
This commit is contained in:
parent
3ef91538f9
commit
8f32a8190e
@ -4,7 +4,6 @@
|
||||
<Version Value="12"/>
|
||||
<General>
|
||||
<Flags>
|
||||
<SaveOnlyProjectUnits Value="True"/>
|
||||
<MainUnitHasCreateFormStatements Value="False"/>
|
||||
<MainUnitHasTitleStatement Value="False"/>
|
||||
<MainUnitHasScaledStatement Value="False"/>
|
||||
|
@ -25,7 +25,9 @@ uses
|
||||
type
|
||||
|
||||
{ TPDFDumpApplication }
|
||||
TInfoSection = (isInfo,isCatalog,isTrailer,isObjects, isFonts, isPages,isPageContents,isPageText, isDictionaries);
|
||||
|
||||
TInfoSection = (isInfo, isCatalog, isTrailer, isObjects, isFonts,
|
||||
isPages, isPageContents, isPageText, isDictionaries);
|
||||
TInfoSections = Set of TInfoSection;
|
||||
|
||||
TPDFDumpApplication = class(TCustomApplication)
|
||||
@ -40,17 +42,17 @@ type
|
||||
Protected
|
||||
procedure DisplayPageText(Doc: TPDFDocument; aIndex: Integer; aPage: TPDFPageObject);
|
||||
procedure DoLog(sender: TObject; aKind: TPDFLogkind; const aMessage: string); reintroduce;
|
||||
Procedure DoProgress(Sender : TObject;aKind : TPDFProgressKind; aCurrent,aCount : Integer);
|
||||
Procedure DoProgress(Sender: TObject; aKind: TPDFProgressKind; aCurrent, aCount : Integer);
|
||||
procedure DisplayCatalog(Doc: TPDFDocument);
|
||||
procedure DisplayInfo(Doc: TPDFDocument);
|
||||
procedure DisplayObjects(Doc: TPDFDocument);
|
||||
procedure DisplayFonts(Doc: TPDFDocument);
|
||||
procedure DisplayPageContents(Doc: TPDFDocument; aIndex: Integer; aPage: TPDFPageObject);
|
||||
procedure DisplayPageContents(Doc: TPDFDocument; aIndex: Integer; aPage: TPDFPageObject);
|
||||
procedure DisplayPages(Doc: TPDFDocument);
|
||||
procedure DisplayTrailer(Doc: TPDFDocument);
|
||||
Public
|
||||
function ProcessOptions : Boolean;
|
||||
procedure Usage(Msg : String);
|
||||
procedure Usage(Msg: String);
|
||||
procedure DumpFile(FN: String);
|
||||
procedure DoRun; override;
|
||||
end;
|
||||
@ -316,13 +318,13 @@ begin
|
||||
UnicodeMap:=nil;
|
||||
end
|
||||
else If cmd is TPDFTextCommand then
|
||||
begin
|
||||
rawText:=TPDFTextCommand(Cmd).GetFullText(UnicodeMap);
|
||||
// Writeln('GetCodePage : ',CodePageToCodePageName(StringCodePage(Rawtext)));
|
||||
SetCodePage(RawText,CP_UTF8);
|
||||
Writeln(RawText);
|
||||
end;
|
||||
end;
|
||||
begin
|
||||
rawText:=TPDFTextCommand(Cmd).GetFullText(UnicodeMap);
|
||||
//Writeln('GetCodePage : ',CodePageToCodePageName(StringCodePage(Rawtext)));
|
||||
SetCodePage(RawText,CP_UTF8);
|
||||
Writeln(RawText);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TPDFDumpApplication.DisplayPages(Doc : TPDFDocument);
|
||||
|
@ -1434,15 +1434,12 @@ begin
|
||||
Result:='';
|
||||
if Length(Tokens)>=2 then
|
||||
For I:=1 to Length(Tokens)-2 do
|
||||
begin
|
||||
if Tokens[I].TokenType=ptString then
|
||||
|
||||
Result:=Result+aUnicodeMap.InterPret(Tokens[I].TokenData)
|
||||
else if Tokens[i].IsNumber then
|
||||
begin
|
||||
case Tokens[I].TokenType of
|
||||
ptString,ptHexString:
|
||||
Result:=Result+aUnicodeMap.InterPret(Tokens[I].TokenData);
|
||||
ptNumber:
|
||||
if Abs(Tokens[i].AsDouble)>PDFTextArraySpaceTreshold then
|
||||
Result:=Result+' '
|
||||
end
|
||||
Result:=Result+' ';
|
||||
else
|
||||
Raise EConvertError.Create('Unexpected char');
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user