mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-25 15:08:26 +02:00
fpvectorial: Improves html with images on tables
git-svn-id: trunk@51953 -
This commit is contained in:
parent
76f8f165ea
commit
421e396441
@ -2289,7 +2289,7 @@ var
|
|||||||
OriginalColWidthsInMM: array of Double;
|
OriginalColWidthsInMM: array of Double;
|
||||||
CurRowTableWidth: Double;
|
CurRowTableWidth: Double;
|
||||||
begin
|
begin
|
||||||
SetLength(ColWidthsInMM, GetRowCount());
|
SetLength(ColWidthsInMM, GetColCount());
|
||||||
|
|
||||||
// Process predefined widths
|
// Process predefined widths
|
||||||
for col := 0 to Length(ColWidthsInMM)-1 do
|
for col := 0 to Length(ColWidthsInMM)-1 do
|
||||||
|
@ -34,6 +34,7 @@ type
|
|||||||
function ReadHeaderFromNode(ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
function ReadHeaderFromNode(ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
||||||
procedure ReadParagraphFromNode(ADest: TvParagraph; ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument);
|
procedure ReadParagraphFromNode(ADest: TvParagraph; ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument);
|
||||||
function ReadSVGFromNode(ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
function ReadSVGFromNode(ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
||||||
|
function ReadSVGFromNode_WithEmbDoc(ANode: TDOMNode; AEmbDoc: TvEmbeddedVectorialDoc; ADoc: TvVectorialDocument): TvEntity;
|
||||||
function ReadMathFromNode(ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
function ReadMathFromNode(ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
||||||
function ReadTableFromNode(ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
function ReadTableFromNode(ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
||||||
function ReadTableRowNode(ATable: TvTable; ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
function ReadTableRowNode(ATable: TvTable; ANode: TDOMNode; AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
||||||
@ -106,7 +107,7 @@ begin
|
|||||||
// Raw text
|
// Raw text
|
||||||
if (ANode is TDOMText) and (lEntityName = '#text') then
|
if (ANode is TDOMText) and (lEntityName = '#text') then
|
||||||
begin
|
begin
|
||||||
lTextValue := Trim(ANode.NodeValue);
|
lTextValue := RemoveLineEndingsAndTrim(ANode.NodeValue);
|
||||||
if (lTextValue <> '') then
|
if (lTextValue <> '') then
|
||||||
begin
|
begin
|
||||||
AData.AddParagraph().AddText(lTextValue);
|
AData.AddParagraph().AddText(lTextValue);
|
||||||
@ -290,6 +291,11 @@ begin
|
|||||||
lEmbVecImg.Height := lHeight;
|
lEmbVecImg.Height := lHeight;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
'svg':
|
||||||
|
begin
|
||||||
|
lEmbVecImg := ADest.AddEmbeddedVectorialDoc();
|
||||||
|
ReadSVGFromNode_WithEmbDoc(lCurNode, lEmbVecImg, ADoc);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
lCurNode := lCurNode.NextSibling;
|
lCurNode := lCurNode.NextSibling;
|
||||||
@ -318,6 +324,26 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TvHTMLVectorialReader.ReadSVGFromNode_WithEmbDoc(ANode: TDOMNode;
|
||||||
|
AEmbDoc: TvEmbeddedVectorialDoc; ADoc: TvVectorialDocument): TvEntity;
|
||||||
|
var
|
||||||
|
CurSVG: TvEmbeddedVectorialDoc;
|
||||||
|
lText: TvText;
|
||||||
|
lDoc: TXMLDocument;
|
||||||
|
lImportedNode: TDOMNode;
|
||||||
|
begin
|
||||||
|
Result := nil;
|
||||||
|
CurSVG := AEmbDoc;
|
||||||
|
lDoc := TXMLDocument.Create;
|
||||||
|
try
|
||||||
|
lImportedNode := lDoc.ImportNode(ANode, True);
|
||||||
|
lDoc.AppendChild(lImportedNode);
|
||||||
|
CurSVG.Document.ReadFromXML(lDoc, vfSVG);
|
||||||
|
finally
|
||||||
|
lDoc.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function TvHTMLVectorialReader.ReadMathFromNode(ANode: TDOMNode;
|
function TvHTMLVectorialReader.ReadMathFromNode(ANode: TDOMNode;
|
||||||
AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
AData: TvTextPageSequence; ADoc: TvVectorialDocument): TvEntity;
|
||||||
var
|
var
|
||||||
@ -598,7 +624,7 @@ begin
|
|||||||
Result := False;
|
Result := False;
|
||||||
lExt := LowerCase(ExtractFileExt(AFileName));
|
lExt := LowerCase(ExtractFileExt(AFileName));
|
||||||
case lExt of
|
case lExt of
|
||||||
'.png', '.jpg', '.jpeg', '.bmp', '.xpm':
|
'.png', '.jpg', '.jpeg', '.bmp', '.xpm', '.gif':
|
||||||
Result := True
|
Result := True
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user