From 001c59a669f9cb829dd4f7715175327c358d1134 Mon Sep 17 00:00:00 2001 From: ivanszabo Date: Wed, 2 Apr 2025 16:51:11 +0200 Subject: [PATCH] =?UTF-8?q?LibreOffice-val=20dokumentum=20konvert=C3=A1l?= =?UTF-8?q?=C3=A1sa=20PDF-re=20most=20j=C3=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/CheckListController.cs | 2 +- .../Pdf/CheckList_Template_V1.docx | Bin 36358 -> 23103 bytes .../DocumentGenerator/DokumentumGenerator.cs | 62 ++++++++++----- .../DocumentGenerator/SablonGenerator.cs | 75 +++++++++++++++++- .../Services/CheckListService.cs | 27 ++++++- .../Services/Interfaces/ICheckListService.cs | 2 +- src/WorkFlowCheck.BL/WorkFlowCheck.BL.csproj | 1 - src/WorkFlowCheck.Web/wwwroot/js/site.js | 28 ++++++- 8 files changed, 170 insertions(+), 27 deletions(-) diff --git a/src/WorkFlowCheck.API/Controllers/CheckListController.cs b/src/WorkFlowCheck.API/Controllers/CheckListController.cs index 6436d79..e219757 100644 --- a/src/WorkFlowCheck.API/Controllers/CheckListController.cs +++ b/src/WorkFlowCheck.API/Controllers/CheckListController.cs @@ -47,7 +47,7 @@ namespace WorkFlowCheck.API.Controllers IsSuccess = true, }; var checkListHeader = await _checkListService.GetCheckListHeaderAsync(id); - var response = _checkListService.CreatePDF(id); + var response = await _checkListService.CreatePDF(id); if (response != null) { diff --git a/src/WorkFlowCheck.API/Pdf/CheckList_Template_V1.docx b/src/WorkFlowCheck.API/Pdf/CheckList_Template_V1.docx index b0a99cfeb635f8f291e100876392a4f0337d0ad5..914e80a5e3889c3abdb8f910f93c417b4fffb9c6 100644 GIT binary patch literal 23103 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 diff --git a/src/WorkFlowCheck.BL/DocumentGenerator/DokumentumGenerator.cs b/src/WorkFlowCheck.BL/DocumentGenerator/DokumentumGenerator.cs index 42ea204..dc2837c 100644 --- a/src/WorkFlowCheck.BL/DocumentGenerator/DokumentumGenerator.cs +++ b/src/WorkFlowCheck.BL/DocumentGenerator/DokumentumGenerator.cs @@ -1,35 +1,59 @@ -using DevExpress.XtraRichEdit; +using System.Diagnostics; namespace WorkFlowCheck.BL.DocumentGenerator { public class DokumentumGenerator { - public static byte[] DocxToPdf(byte[] wordBytes) + public static byte[] DocxToPdfL(byte[] wordBytes) { - using (MemoryStream inputStream = new MemoryStream(wordBytes)) - using (MemoryStream outputStream = new MemoryStream()) + string pdfDirectory = Path.Combine(Directory.GetCurrentDirectory(), "Pdf"); + string fileName = Guid.NewGuid().ToString(); + + string tempWordPath = Path.Combine(pdfDirectory, fileName + ".docx"); + string tempPdfPath = Path.Combine(pdfDirectory, fileName + ".pdf"); + + try { - try + // Word fájl mentése ideiglenes fájlba + File.WriteAllBytes(tempWordPath, wordBytes); + + // LibreOffice parancssori konverzió + ProcessStartInfo startInfo = new ProcessStartInfo { - // RichEditDocumentServer használata a konverzióhoz - using (RichEditDocumentServer wordProcessor = new RichEditDocumentServer()) - { - // Dokumentum betöltése a byte tömbből - wordProcessor.LoadDocument(inputStream, DevExpress.XtraRichEdit.DocumentFormat.OpenXml); + FileName = "e:\\LibreOffice\\program\\soffice", // LibreOffice parancs + Arguments = $"--headless --convert-to pdf \"{tempWordPath}\" --outdir \"{pdfDirectory}", + RedirectStandardOutput = true, + UseShellExecute = false, + CreateNoWindow = true + }; - // PDF formátumba mentés a memóriafolyamba - wordProcessor.ExportToPdf(outputStream); - - // PDF byte tömb visszaadása - return outputStream.ToArray(); - } + using (Process process = Process.Start(startInfo)) + { + process.WaitForExit(); } - catch (Exception ex) + + // Ellenőrzés, hogy létrejött-e a PDF + if (File.Exists(tempPdfPath)) { - Console.WriteLine("Hiba a konverzió során: " + ex.Message); - return new byte[0]; + byte[] pdfBytes = File.ReadAllBytes(tempPdfPath); + + // Ideiglenes fájlok törlése + File.Delete(tempWordPath); + File.Delete(tempPdfPath); + + return pdfBytes; + } + else + { + throw new Exception("PDF konverzió sikertelen."); } } + catch (Exception ex) + { + Console.WriteLine("Hiba a PDF konverzió során: " + ex.Message); + return null; + } } + } } diff --git a/src/WorkFlowCheck.BL/DocumentGenerator/SablonGenerator.cs b/src/WorkFlowCheck.BL/DocumentGenerator/SablonGenerator.cs index 25b339f..e8d8e14 100644 --- a/src/WorkFlowCheck.BL/DocumentGenerator/SablonGenerator.cs +++ b/src/WorkFlowCheck.BL/DocumentGenerator/SablonGenerator.cs @@ -424,7 +424,7 @@ namespace WorkFlowCheck.BL.DocumentGenerator /// sorok és benne az egyes cellák tartalma /// első (nem fejléc) sorában lévő kulcs, ez alapján azonosítjuk be a táblázatot /// ha igaz, a táblázat összes meglévő sorát törli - public void SetTable(List> rowsAndCells, string keyInRow, bool deleteEmptyRow = false) + public void SetTable_Old(List> rowsAndCells, string keyInRow, bool deleteEmptyRow = false) { Body bod = Doc.MainDocumentPart.Document.Body; var table = bod.Descendants().Where(tbl => tbl.InnerText.Contains(keyInRow)).FirstOrDefault(); @@ -458,6 +458,79 @@ namespace WorkFlowCheck.BL.DocumentGenerator } } } + public void SetTable(List> rowsAndCells, string keyInRow, bool deleteEmptyRow = false) + { + Body bod = Doc.MainDocumentPart.Document.Body; + var table = bod.Descendants
().Where(tbl => tbl.InnerText.Contains(keyInRow)).FirstOrDefault(); + if (table != null) + { + TableRow formatRow = null; + + // Megkeressük az első sort és elmentjük a formázást + if (deleteEmptyRow) + { + var firstRow = table.ChildElements.OfType().FirstOrDefault(); + if (firstRow != null) + { + formatRow = (TableRow)firstRow.CloneNode(true); // Az első sor másolása formázással + var deletedRows = table.ChildElements.OfType().ToList(); + foreach (var item in deletedRows) + table.RemoveChild(item); + } + } + else + { + var deletedRow = table.ChildElements.OfType().LastOrDefault(); + if (deletedRow != null) + { + formatRow = (TableRow)deletedRow.CloneNode(true); // Az utolsó sor másolása formázással + table.RemoveChild(deletedRow); + } + } + + // Új sorok beszúrása a mentett formázással + foreach (var row in rowsAndCells) + { + List cells = new List(); + + for (int i = 0; i < row.Count; i++) + { + var cellText = row[i].Replace("#", ""); + + // Ha van formázási minta, alkalmazzuk + TableCell newCell; + if (formatRow != null && i < formatRow.Elements().Count()) + { + var formatCell = formatRow.Elements().ElementAt(i); + var clonedCell = (TableCell)formatCell.CloneNode(true); + var para = clonedCell.Descendants().FirstOrDefault(); + + // Ha van beágyazott szöveg, frissítjük a tartalmát + if (para != null) + { + var run = para.Descendants().FirstOrDefault(); + if (run != null) + { + run.RemoveAllChildren(); + run.AppendChild(new Text(cellText)); + } + } + + newCell = clonedCell; + } + else + { + // Alapértelmezett cella, ha nincs formázási minta + newCell = new TableCell(new Paragraph(new Run(new Text(cellText)))); + } + + cells.Add(newCell); + } + + table.Append(new TableRow(cells)); + } + } + } public byte[] CloseAndGetDocument() { diff --git a/src/WorkFlowCheck.BL/Services/CheckListService.cs b/src/WorkFlowCheck.BL/Services/CheckListService.cs index c3c8137..773bf38 100644 --- a/src/WorkFlowCheck.BL/Services/CheckListService.cs +++ b/src/WorkFlowCheck.BL/Services/CheckListService.cs @@ -1,4 +1,5 @@ using AutoMapper; +using DocumentFormat.OpenXml.Office.CustomUI; using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.EntityFrameworkCore; using Serilog; @@ -424,18 +425,40 @@ namespace WorkFlowCheck.BL.Services return retVal; } - public byte[] CreatePDF(int checkListHeaderId) + public async Task CreatePDF(int checkListHeaderId) { try { + var checkListHeader = await this.GetCheckListHeaderAsync(checkListHeaderId); + string pdfDirectory = Path.Combine(Directory.GetCurrentDirectory(), "Pdf"); byte[] byteArray = File.ReadAllBytes(Path.Combine(pdfDirectory, "CheckList_Template_V1.docx")); SablonGenerator gen = new SablonGenerator(byteArray); + if (checkListHeader.CheckListRowDTO != null && checkListHeader.CheckListRowDTO.Count > 0) + { + var elements = new List>(); + foreach (var item in checkListHeader.CheckListRowDTO) + { + if (item.CheckListTemplateRowDTO != null) + { + var cells = new List + { + $"{item.CheckListTemplateRowDTO.RowIndex.ToString()}.", + item.CheckListTemplateRowDTO.OperationDescription, + item.Answer + }; + elements.Add(cells); + } + } + gen.SetTable(elements, "#rowindex"); + } + + byte[] content = gen.CloseAndGetDocument(); - return DokumentumGenerator.DocxToPdf(content); + return DokumentumGenerator.DocxToPdfL(content); } catch (Exception ex) { diff --git a/src/WorkFlowCheck.BL/Services/Interfaces/ICheckListService.cs b/src/WorkFlowCheck.BL/Services/Interfaces/ICheckListService.cs index 98505a9..892899e 100644 --- a/src/WorkFlowCheck.BL/Services/Interfaces/ICheckListService.cs +++ b/src/WorkFlowCheck.BL/Services/Interfaces/ICheckListService.cs @@ -23,6 +23,6 @@ namespace WorkFlowCheck.BL.Services.Interfaces Task UpdateCheckListRowAsync(CheckListRowDTO checkListRowDTO); - byte[] CreatePDF(int checkListHeaderId); + Task CreatePDF(int checkListHeaderId); } } diff --git a/src/WorkFlowCheck.BL/WorkFlowCheck.BL.csproj b/src/WorkFlowCheck.BL/WorkFlowCheck.BL.csproj index dd1a6a6..9125e70 100644 --- a/src/WorkFlowCheck.BL/WorkFlowCheck.BL.csproj +++ b/src/WorkFlowCheck.BL/WorkFlowCheck.BL.csproj @@ -8,7 +8,6 @@ - diff --git a/src/WorkFlowCheck.Web/wwwroot/js/site.js b/src/WorkFlowCheck.Web/wwwroot/js/site.js index 815ecc3..1ee1faf 100644 --- a/src/WorkFlowCheck.Web/wwwroot/js/site.js +++ b/src/WorkFlowCheck.Web/wwwroot/js/site.js @@ -194,7 +194,31 @@ function renderAnswerType(data) { } function renderAnswerPhoto(data, row) { if (row.checkListTemplateRowDTO.answerType === 'P') { - return `Image` + return `
Image
`; } - return data; + if (row.checkListTemplateRowDTO.answerType === 'SI-N' && data === 'Igen') { + return '
I
'; + } + if (row.checkListTemplateRowDTO.answerType === 'SI-N' && data === 'Nem') { + return '
N
'; + } + if (row.checkListTemplateRowDTO.answerType === 'I-SN' && data === 'Igen') { + return '
I
'; + } + if (row.checkListTemplateRowDTO.answerType === 'I-SN' && data === 'Nem') { + return '
N
'; + } + if (row.checkListTemplateRowDTO.answerType === 'PI-N' && data === 'Igen') { + return '
I
'; + } + if (row.checkListTemplateRowDTO.answerType === 'PI-N' && data === 'Nem') { + return '
N
'; + } + if (row.checkListTemplateRowDTO.answerType === 'I-PN' && data === 'Igen') { + return '
I
'; + } + if (row.checkListTemplateRowDTO.answerType === 'I-PN' && data === 'Nem') { + return '
N
'; + } + return `
${data}
`; }