From 13b9d943b91eb184b9cde1e4b159e65454bcb1e8 Mon Sep 17 00:00:00 2001 From: ivanszabo Date: Thu, 10 Apr 2025 16:18:33 +0200 Subject: [PATCH] =?UTF-8?q?Na=20most=20menti=20a=20k=C3=A9pet=20is=20a=20P?= =?UTF-8?q?DF-be?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../515590b6-79a6-43fe-a866-4e6d099fc7d3.docx | Bin 22276 -> 0 bytes .../WorkFlowCheck.API.csproj | 1 + .../DocumentGenerator/DokumentumGenerator.cs | 167 +++++++++++++++++- .../Services/CheckListService.cs | 16 +- src/WorkFlowCheck.BL/WorkFlowCheck.BL.csproj | 1 + .../WorkFlowCheck.Web.csproj | 1 + 6 files changed, 179 insertions(+), 7 deletions(-) delete mode 100644 src/WorkFlowCheck.API/Pdf/515590b6-79a6-43fe-a866-4e6d099fc7d3.docx diff --git a/src/WorkFlowCheck.API/Pdf/515590b6-79a6-43fe-a866-4e6d099fc7d3.docx b/src/WorkFlowCheck.API/Pdf/515590b6-79a6-43fe-a866-4e6d099fc7d3.docx deleted file mode 100644 index d1f06b2910c23e6baefd7e75f86c55e019b16ed0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22276 zcmeFXW0+=3lP+B9vTfV8%`SD>wrzBoUAAr8c2$>c+tydT_q_AHd*)p8^ZYq;t*Tsz zC+>_V?-dc5k&m1dFbFaL05~|nBxi{FzWsynF#rI-Zy*2wsIRk*y^*B@9qpgCVx~tD zm;oMi%Oi_$yd%wuim-NBTlh#OpO;_U*hMH!TD-8KvqKNTF{j+0$M|MyN=&@2<0+5b zU^L3#UrFg_x9)K3Zz|VSJ~}+zRoYY)Zgbig?&f5XWeByNZfv}Qabx}}2N49JmSb|a ziTz}Ej0TP)-2K+dOQV-%!1H{?vvU9XIx6_r=#bCTL|iqE33W`#=7#f#m)%BEskqJeGg}0Bc_(g77sWhBgLr_BOT-bOtu| zMzpS0mR<^4vc2@kUXLo&UU=uAh^B+$bMSb?3<$Z`70zhIm0GjT&>tP^gP@ex=b0Yg zr{2vO`G&cde%9p5F(Jc%L-Jn}BAIguoz4@cXLoZJGA5!y8Xtk9PRynSSd2mePZj>w zO$WeoB{HH|WU6=gt{6eH>1XJ?g)$nK)+>I%&8$(5@u{!T%|Kv4-BT065oFOP_ZW3# zm~y?LkVI+&%@{=h1~ICJ4MXU;z)3%&?e&`;O_E|wzE8{J@B{ysw?nH;%V~Y_IsbX-%N79op_-hx3&loX9NYoCB(;l zC#&UdZ$66$DDPyqJyHEFo8<@|M6^R;V}XuqD^=f+6Vb8aJ%xku`V5{I5q=w&do)!` zC6U|cJKv0zxF|tN`EdLo0!d$Z4Cl|nTEC9sPi@QrnR(nrtJRxbq-G0~6Tj#TTaNl; z+P7PRS(|@SqZ~Hkrv61uRIxTlEQ@)XP9V5F7+Thh2z;8W3#XcB|; ztvKRf*ucm-VhVjqiA`f(R+Ie~IbqrPA$4l;_m}I5P?TL07j@Lm1I*|~&ag*N zp^=Br+&QzDmkea(;y1{~W|70jii0<)f*f=VCj4*ryHIohczuJ|y7A42m~ErpeAQx# z1sj;19!^v&EK16*Zs_jMHGnYvt-DHz`y1F2T}T?%X)fRTS&ZEt$ha86z+pUKO6`bm zp+;pe4pzfT@&3sJr#|dj!q@npe*Gi;I}Zj<4vscfe^D_h0Qr+1{@d@efMp9yw1SXn z8Mxmf$GrWakfcbAd2_35fiu94&(B#ymq9A3^HC{iVW8igfFbkp>_X%GWIUa|4e0Nh zs)U(t@dxExk~cg`L)1|Zm!ik4YC(?^mdvNFNA%chq1MD_+E**+XEM8WvA4&p0*Ou^ z7PcJ4tcmR&?urk5y2pRquMG<3NOlEhJAQ)x^IHrw_=>WC0ss`z|Ly25Hui>eU*7Iy zWn}I6=R2HhOjxh7!+WC$cr?;HlSM{yihMLeq#FKYUk36}lS4GBixKwAKV!G4ZaOEr zTe{`-k9l0l5tsM~-{pk4QPd)|6Q6_@!!rpoICu|Eqo)r_wiC>&G*h9O?T(S+LA-A> zCVU%hG_&<1g!{(atK|^U@~n6GUc4*M24P1GtqXq*8#qmUV(a27)K5iVhp|70hLRM7 zbMo3h@S=BuQEmYn5W>}vn)#!EAu4;Sh*}sZwOmJ05w^ZueZ98P92!jAx7CwhKhqAY zGL{eer{$U{P6^Ryd$K&51FSPRFbSJ5@#yl>0wz?V=MBa+XDm;Us3M^W3Wr<<#!zxI zR&{_Hq299!`hcgOL}wypxrmSd50ouk4F}14Q1Z;31t09D=m=7~K^jd9F9Q8V3F--4 zU}|hcc!uvu>f}ajct!K++hS?gX+SyaFASjf=>kX2QLhL_!w|Y`{-i;gnSj_bEmSxs zk^4;FKhx{(rjd35u<|D1ziHh{r^2Go8!n=;5w%r!(9aqcl5&>rpE=z3+SEPZY5>UT)Ero8%{gbPnN7=hXw zsG7hXIMl|%k?ssNRD_b~`%xj?H&@>aaVNxN>yII_y86qw7-t70%MVho_1mw+Nr4Ch2oM$Or*eST z++^o;PUvKIma#U00beBM!qDMYPy3%8xh{AMc46_(%-TH?l1l514IP%gLV?-akgySV zU}dUvsK`M3Jv7Frjj81Or$~bX-x4ehnfP0k94}_^A@WK-B7VV!9!=vKI=h|9&es;j z5A!XGiE=-$1e4KEuduDcbQEH^TeQ`5L}=R#?;ngaWeP%2wC9(7m~USknwd%QR-MsOHi-FZOVY~U=9Ie?`tSj6R#G} z$O~8l@W2MugIHJ);`Nqz!-b5epH8&f#SCvn`c@eWDx66gqHIro)9OAXCO%b)0(Mb$_*bh*EDi!)O z-`>$^^2jf5R7o}#dk29Yx$Mpv4al`>)TT_TT_(&Ig>du;23r-{V|&koxf4&Sf$+`

v_MdJ_*6V7oCo=hQ* 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 diff --git a/src/WorkFlowCheck.API/WorkFlowCheck.API.csproj b/src/WorkFlowCheck.API/WorkFlowCheck.API.csproj index 9b5fc97..45d5f36 100644 --- a/src/WorkFlowCheck.API/WorkFlowCheck.API.csproj +++ b/src/WorkFlowCheck.API/WorkFlowCheck.API.csproj @@ -28,6 +28,7 @@ + diff --git a/src/WorkFlowCheck.BL/DocumentGenerator/DokumentumGenerator.cs b/src/WorkFlowCheck.BL/DocumentGenerator/DokumentumGenerator.cs index dc2837c..4e96ef5 100644 --- a/src/WorkFlowCheck.BL/DocumentGenerator/DokumentumGenerator.cs +++ b/src/WorkFlowCheck.BL/DocumentGenerator/DokumentumGenerator.cs @@ -1,10 +1,13 @@ -using System.Diagnostics; +using DocumentFormat.OpenXml; +using DocumentFormat.OpenXml.Packaging; +using DocumentFormat.OpenXml.Wordprocessing; +using System.Diagnostics; namespace WorkFlowCheck.BL.DocumentGenerator { public class DokumentumGenerator { - public static byte[] DocxToPdfL(byte[] wordBytes) + public static byte[] DocxToPdfL(byte[] wordBytes, List imagePaths = null) { string pdfDirectory = Path.Combine(Directory.GetCurrentDirectory(), "Pdf"); string fileName = Guid.NewGuid().ToString(); @@ -17,6 +20,24 @@ namespace WorkFlowCheck.BL.DocumentGenerator // Word fájl mentése ideiglenes fájlba File.WriteAllBytes(tempWordPath, wordBytes); + if (imagePaths != null && imagePaths.Count > 0) + { + using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(tempWordPath, true)) + { + MainDocumentPart mainPart = wordDoc.MainDocumentPart; + foreach (string imagePath in imagePaths) + { + if (File.Exists(imagePath)) + { + InsertImageAsNewPage(mainPart, imagePath); + } + } + + wordDoc.MainDocumentPart.Document.Save(); + } + } + + // LibreOffice parancssori konverzió ProcessStartInfo startInfo = new ProcessStartInfo { @@ -54,6 +75,148 @@ namespace WorkFlowCheck.BL.DocumentGenerator return null; } } + private static void InsertImageAsNewPage(MainDocumentPart mainPart, string imagePath) + { + string fileName = Path.GetFileName(imagePath); + + // Kép méretezés – max szélesség/magasság A4 hasznos területhez igazítva + using var image = SixLabors.ImageSharp.Image.Load(imagePath); + int pixelWidth = image.Width; + int pixelHeight = image.Height; + + long maxWidth = 5760000L; // kb. 16 cm + long maxHeight = 7200000L; // kb. 20 cm + + double aspectRatio = (double)pixelHeight / pixelWidth; + long finalWidth = maxWidth; + long finalHeight = (long)(maxWidth * aspectRatio); + + if (finalHeight > maxHeight) + { + finalHeight = maxHeight; + finalWidth = (long)(maxHeight / aspectRatio); + } + + // Kép hozzáadása Word dokumentumhoz + ImagePart imagePart = mainPart.AddImagePart(ImagePartType.Jpeg); + using (FileStream stream = new FileStream(imagePath, FileMode.Open)) + { + imagePart.FeedData(stream); + } + + string imagePartId = mainPart.GetIdOfPart(imagePart); + Drawing drawing = CreateImageDrawing(imagePartId, finalWidth, finalHeight); + + // Kép beillesztése középre igazítva + Paragraph imageParagraph = new Paragraph(new Run(drawing)) + { + ParagraphProperties = new ParagraphProperties( + new Justification() { Val = JustificationValues.Center } + ) + }; + + TableCell imageCell = new TableCell(imageParagraph, + new TableCellProperties( + new TableCellVerticalAlignment { Val = TableVerticalAlignmentValues.Center }, + new TableCellWidth() { Type = TableWidthUnitValues.Pct, Width = "10000" } + )); + + // Képes sor (magas, kitölti az oldalt) + TableRow imageRow = new TableRow(imageCell); + imageRow.AppendChild(new TableRowProperties( + new TableRowHeight() { Val = 9000, HeightType = HeightRuleValues.Exact } + )); + + // Fájlnév beillesztése középre + Paragraph fileNamePara = new Paragraph(new Run(new Text(fileName))) + { + ParagraphProperties = new ParagraphProperties( + new Justification() { Val = JustificationValues.Center } + ) + }; + + TableCell fileNameCell = new TableCell(fileNamePara, + new TableCellProperties( + new TableCellVerticalAlignment { Val = TableVerticalAlignmentValues.Center }, + new TableCellWidth() { Type = TableWidthUnitValues.Pct, Width = "10000" } + )); + + // Fájlnév sor (normál magasság) + TableRow fileNameRow = new TableRow(fileNameCell); + fileNameRow.AppendChild(new TableRowProperties( + new TableRowHeight() { Val = 400, HeightType = HeightRuleValues.Auto } + )); + + // Táblázat – szegély nélkül, teljes oldalszélességben + Table table = new Table( + new TableProperties( + new TableWidth { Width = "10000", Type = TableWidthUnitValues.Pct }, + new TableBorders( + new TopBorder { Val = BorderValues.None }, + new BottomBorder { Val = BorderValues.None }, + new LeftBorder { Val = BorderValues.None }, + new RightBorder { Val = BorderValues.None }, + new InsideHorizontalBorder { Val = BorderValues.None }, + new InsideVerticalBorder { Val = BorderValues.None } + ) + ), + imageRow, + fileNameRow + ); + + // Új oldal és a táblázat beszúrása a dokumentum végére + Body body = mainPart.Document.Body; + body.Append(new Paragraph(new Run(new Break() { Type = BreakValues.Page }))); + body.Append(table); + } + + + private static Drawing CreateImageDrawing(string relationshipId, long width, long height) + { + return new Drawing( + new DocumentFormat.OpenXml.Drawing.Wordprocessing.Inline( + new DocumentFormat.OpenXml.Drawing.Wordprocessing.Extent() { Cx = width, Cy = height }, + new DocumentFormat.OpenXml.Drawing.Wordprocessing.EffectExtent() + { + LeftEdge = 0L, + TopEdge = 0L, + RightEdge = 0L, + BottomEdge = 0L + }, + new DocumentFormat.OpenXml.Drawing.Wordprocessing.DocProperties() + { + Id = (UInt32Value)1U, + Name = "Inserted Image" + }, + new DocumentFormat.OpenXml.Drawing.Graphic( + new DocumentFormat.OpenXml.Drawing.GraphicData( + new DocumentFormat.OpenXml.Drawing.Pictures.Picture( + new DocumentFormat.OpenXml.Drawing.Pictures.NonVisualPictureProperties( + new DocumentFormat.OpenXml.Drawing.Pictures.NonVisualDrawingProperties() + { + Id = (UInt32Value)0U, + Name = "Picture" + }, + new DocumentFormat.OpenXml.Drawing.Pictures.NonVisualPictureDrawingProperties()), + new DocumentFormat.OpenXml.Drawing.Pictures.BlipFill( + new DocumentFormat.OpenXml.Drawing.Blip() + { + Embed = relationshipId + }, + new DocumentFormat.OpenXml.Drawing.Stretch( + new DocumentFormat.OpenXml.Drawing.FillRectangle())), + new DocumentFormat.OpenXml.Drawing.Pictures.ShapeProperties( + new DocumentFormat.OpenXml.Drawing.Transform2D( + new DocumentFormat.OpenXml.Drawing.Offset() { X = 0L, Y = 0L }, + new DocumentFormat.OpenXml.Drawing.Extents() { Cx = width, Cy = height }), + new DocumentFormat.OpenXml.Drawing.PresetGeometry( + new DocumentFormat.OpenXml.Drawing.AdjustValueList()) + { Preset = DocumentFormat.OpenXml.Drawing.ShapeTypeValues.Rectangle })) + ) + { Uri = "http://schemas.openxmlformats.org/drawingml/2006/picture" }) + ) + { DistanceFromTop = 0U, DistanceFromBottom = 0U, DistanceFromLeft = 0U, DistanceFromRight = 0U }); + } } } diff --git a/src/WorkFlowCheck.BL/Services/CheckListService.cs b/src/WorkFlowCheck.BL/Services/CheckListService.cs index 96145ce..518d2e6 100644 --- a/src/WorkFlowCheck.BL/Services/CheckListService.cs +++ b/src/WorkFlowCheck.BL/Services/CheckListService.cs @@ -27,8 +27,8 @@ namespace WorkFlowCheck.BL.Services private readonly IMapper _mapper; private readonly INumberGeneratorService _numberGeneratorService; - public CheckListService(AppDbContext dbContext, - IMapper mapper, + public CheckListService(AppDbContext dbContext, + IMapper mapper, INumberGeneratorService numberGeneratorService, IUserService userService) { @@ -288,7 +288,13 @@ namespace WorkFlowCheck.BL.Services byte[] content = gen.CloseAndGetDocument(); - return DokumentumGenerator.DocxToPdfL(content); + string imageDirectory = Path.Combine(Directory.GetCurrentDirectory(), "Images"); + + var images = checkListHeader.CheckListRowDTO.Where(w => (w.CheckListTemplateRowDTO.AnswerType == "P" || w.CheckListTemplateRowDTO.AnswerType == "PN") && + string.IsNullOrEmpty(w.Answer) != true) + .Select(s => Path.Combine(imageDirectory, s.Answer)) + .ToList(); + return DokumentumGenerator.DocxToPdfL(content, images); } catch (Exception ex) { @@ -315,8 +321,8 @@ namespace WorkFlowCheck.BL.Services await _dbContext.SaveChangesAsync(); - - + + retVal = true; } } diff --git a/src/WorkFlowCheck.BL/WorkFlowCheck.BL.csproj b/src/WorkFlowCheck.BL/WorkFlowCheck.BL.csproj index ea0d8bb..08827ad 100644 --- a/src/WorkFlowCheck.BL/WorkFlowCheck.BL.csproj +++ b/src/WorkFlowCheck.BL/WorkFlowCheck.BL.csproj @@ -13,6 +13,7 @@ + diff --git a/src/WorkFlowCheck.Web/WorkFlowCheck.Web.csproj b/src/WorkFlowCheck.Web/WorkFlowCheck.Web.csproj index a1c750c..eace772 100644 --- a/src/WorkFlowCheck.Web/WorkFlowCheck.Web.csproj +++ b/src/WorkFlowCheck.Web/WorkFlowCheck.Web.csproj @@ -33,6 +33,7 @@ +