This commit is contained in:
csh 2024-07-08 15:25:46 +08:00
parent 66ec96e167
commit b167501fde
1 changed files with 11 additions and 6 deletions

View File

@ -23,8 +23,9 @@ private
function AllocateElementsToSectWare(); function AllocateElementsToSectWare();
function ResetCoordinates(sect_ware: TSSectWare); function ResetCoordinates(sect_ware: TSSectWare);
function TransformParagraph(sect_ware: TSSectWare; paragraph: P); function TransformP(sect_ware: TSSectWare; paragraph: P);
function TransformTable(sect_ware: TSSectWare; table: Tbl); function TransformTbl(sect_ware: TSSectWare; table: Tbl);
function TransformSdt(sect_ware: TSSectWare; sdt: Sdt);
function PrintGrid(page: PdfPage; sect_ware: TSSectWare); // test function PrintGrid(page: PdfPage; sect_ware: TSSectWare); // test
@ -74,7 +75,7 @@ begin
self.AddPage(sect_ware); self.AddPage(sect_ware);
prev := sect_ware; prev := sect_ware;
end end
elements := sect_ware.Elements(); elements := sect_ware.Elements;
for _,element in elements do for _,element in elements do
begin begin
if element.LocalName = "p" then self.TransformParagraph(sect_ware, element); if element.LocalName = "p" then self.TransformParagraph(sect_ware, element);
@ -154,7 +155,7 @@ begin
for i:=0 to length(elements)-1 do for i:=0 to length(elements)-1 do
begin begin
element := elements[i]; element := elements[i];
ware.Elements[length(ware.Elements)] := element; ware.AddElement(element);
if element.LocalName = "p" and ifObj(element.PPr.SectPr.XmlNode) then if element.LocalName = "p" and ifObj(element.PPr.SectPr.XmlNode) then
begin begin
##fp(ware, element.PPr.SectPr); ##fp(ware, element.PPr.SectPr);
@ -238,7 +239,7 @@ begin
page.Stroke(); page.Stroke();
end; end;
function TSDocxToPdf.TransformParagraph(sect_ware: TSSectWare; paragraph: P); function TSDocxToPdf.TransformP(sect_ware: TSSectWare; paragraph: P);
begin begin
w := sect_ware.SectPr.PgSz.W - sect_ware.SectPr.PgMar.Right - sect_ware.SectPr.PgMar.Left; w := sect_ware.SectPr.PgSz.W - sect_ware.SectPr.PgMar.Right - sect_ware.SectPr.PgMar.Left;
range := new TSPdfParagraphRange(self, current_page_, docx_components_, sect_ware, paragraph); range := new TSPdfParagraphRange(self, current_page_, docx_components_, sect_ware, paragraph);
@ -250,7 +251,7 @@ begin
point_.Y := range.EndY; point_.Y := range.EndY;
end; end;
function TSDocxToPdf.TransformTable(sect_ware: TSSectWare; table: Tbl); function TSDocxToPdf.TransformTbl(sect_ware: TSSectWare; table: Tbl);
begin begin
w := sect_ware.SectPr.PgSz.W - sect_ware.SectPr.PgMar.Right - sect_ware.SectPr.PgMar.Left; w := sect_ware.SectPr.PgSz.W - sect_ware.SectPr.PgMar.Right - sect_ware.SectPr.PgMar.Left;
range := new TSPdfTableRange(self, current_page_, docx_components_, sect_ware, table); range := new TSPdfTableRange(self, current_page_, docx_components_, sect_ware, table);
@ -262,3 +263,7 @@ begin
point_.Y := range.EndY; point_.Y := range.EndY;
end; end;
function TSDocxToPdf.TransformSdt(sect_ware: TSSectWare; sdt: Sdt);
begin
w := sect_ware.SectPr.PgSz.W - sect_ware.SectPr.PgMar.Right - sect_ware.SectPr.PgMar.Left;
end;