diff --git a/HJGL_DS/FineUIPro.Web/File/page_1.pdf b/HJGL_DS/FineUIPro.Web/File/page_1.pdf deleted file mode 100644 index 5c235d0..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_1.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_10.pdf b/HJGL_DS/FineUIPro.Web/File/page_10.pdf deleted file mode 100644 index 0b30ddd..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_10.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_11.pdf b/HJGL_DS/FineUIPro.Web/File/page_11.pdf deleted file mode 100644 index 1ba4778..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_11.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_12.pdf b/HJGL_DS/FineUIPro.Web/File/page_12.pdf deleted file mode 100644 index a6cf03f..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_12.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_13.pdf b/HJGL_DS/FineUIPro.Web/File/page_13.pdf deleted file mode 100644 index e061081..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_13.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_14.pdf b/HJGL_DS/FineUIPro.Web/File/page_14.pdf deleted file mode 100644 index 54300be..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_14.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_15.pdf b/HJGL_DS/FineUIPro.Web/File/page_15.pdf deleted file mode 100644 index 8dc293b..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_15.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_16.pdf b/HJGL_DS/FineUIPro.Web/File/page_16.pdf deleted file mode 100644 index e1d6382..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_16.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_17.pdf b/HJGL_DS/FineUIPro.Web/File/page_17.pdf deleted file mode 100644 index 2873f53..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_17.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_18.pdf b/HJGL_DS/FineUIPro.Web/File/page_18.pdf deleted file mode 100644 index a825289..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_18.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_19.pdf b/HJGL_DS/FineUIPro.Web/File/page_19.pdf deleted file mode 100644 index 7b65f60..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_19.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_2.pdf b/HJGL_DS/FineUIPro.Web/File/page_2.pdf deleted file mode 100644 index 1af78e1..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_2.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_20.pdf b/HJGL_DS/FineUIPro.Web/File/page_20.pdf deleted file mode 100644 index 6809838..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_20.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_21.pdf b/HJGL_DS/FineUIPro.Web/File/page_21.pdf deleted file mode 100644 index b59ba3b..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_21.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_22.pdf b/HJGL_DS/FineUIPro.Web/File/page_22.pdf deleted file mode 100644 index 8ea352d..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_22.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_23.pdf b/HJGL_DS/FineUIPro.Web/File/page_23.pdf deleted file mode 100644 index 6200a28..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_23.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_24.pdf b/HJGL_DS/FineUIPro.Web/File/page_24.pdf deleted file mode 100644 index b2a296f..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_24.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_25.pdf b/HJGL_DS/FineUIPro.Web/File/page_25.pdf deleted file mode 100644 index 9a72589..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_25.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_26.pdf b/HJGL_DS/FineUIPro.Web/File/page_26.pdf deleted file mode 100644 index d4a7cf8..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_26.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_27.pdf b/HJGL_DS/FineUIPro.Web/File/page_27.pdf deleted file mode 100644 index 0054910..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_27.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_28.pdf b/HJGL_DS/FineUIPro.Web/File/page_28.pdf deleted file mode 100644 index 4dbfb13..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_28.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_29.pdf b/HJGL_DS/FineUIPro.Web/File/page_29.pdf deleted file mode 100644 index 141a3bd..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_29.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_3.pdf b/HJGL_DS/FineUIPro.Web/File/page_3.pdf deleted file mode 100644 index c4c9440..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_3.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_4.pdf b/HJGL_DS/FineUIPro.Web/File/page_4.pdf deleted file mode 100644 index 719c4d5..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_4.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_5.pdf b/HJGL_DS/FineUIPro.Web/File/page_5.pdf deleted file mode 100644 index 17943ea..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_5.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_6.pdf b/HJGL_DS/FineUIPro.Web/File/page_6.pdf deleted file mode 100644 index 9568e1d..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_6.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_7.pdf b/HJGL_DS/FineUIPro.Web/File/page_7.pdf deleted file mode 100644 index 3ded25e..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_7.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_8.pdf b/HJGL_DS/FineUIPro.Web/File/page_8.pdf deleted file mode 100644 index 54a4587..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_8.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/File/page_9.pdf b/HJGL_DS/FineUIPro.Web/File/page_9.pdf deleted file mode 100644 index f79682a..0000000 Binary files a/HJGL_DS/FineUIPro.Web/File/page_9.pdf and /dev/null differ diff --git a/HJGL_DS/FineUIPro.Web/HJGL/DataIn/DrawingRecognitionContent.aspx.cs b/HJGL_DS/FineUIPro.Web/HJGL/DataIn/DrawingRecognitionContent.aspx.cs index f7a8bf3..466c6d8 100644 --- a/HJGL_DS/FineUIPro.Web/HJGL/DataIn/DrawingRecognitionContent.aspx.cs +++ b/HJGL_DS/FineUIPro.Web/HJGL/DataIn/DrawingRecognitionContent.aspx.cs @@ -1,9 +1,12 @@ using Aspose.Words.Rendering; using BLL; +using Model; using Newtonsoft.Json.Linq; using System; +using System.Collections.Generic; using System.Data; using System.IO; +using System.Linq; using UglyToad.PdfPig; using UglyToad.PdfPig.Content; using UglyToad.PdfPig.Writer; @@ -64,37 +67,7 @@ namespace FineUIPro.Web.HJGL.DataIn { return; } - using (var pdf = PdfDocument.Open(fileUrl)) - { - - for (int i = 0; i < pdf.NumberOfPages; i++) - { - var page = pdf.GetPage(i + 1); - var rotation = page.Rotation; - - var outputPath = $"{rootPath}/File/page_{i + 1}.pdf"; - - using (var writer = new PdfDocumentBuilder()) - { - PdfPageBuilder newPage = null; - if (rotation.Value != 0 && rotation.Value != 180) - { - newPage = writer.AddPage(page.Height, page.Width); - } - else - { - newPage = writer.AddPage(page.Width, page.Height); - } - - newPage.CopyFrom(page); - // 3. 关键:清除旋转标记 + 反向旋转内容(修正视觉方向) - // 清除 /Rotate 标记 - newPage.SetRotation(new PageRotationDegrees(rotation.Value)); - var newPdf = writer.Build(); - File.WriteAllBytes(outputPath, newPdf); - } - } - } + } } } @@ -103,7 +76,71 @@ namespace FineUIPro.Web.HJGL.DataIn { Grid1.Hidden = true; contentPanel1.Hidden =false ; + string rootPath = Server.MapPath("~/"); + Dictionary> dic= new Dictionary>(); + foreach (DataRow row in dt.Rows) + { + if (!dic.ContainsKey(row["pipe_no"].ToString())) + { + dic.Add(row["pipe_no"].ToString().Trim(),new List()); + } + dic[row["pipe_no"].ToString().Trim()].Add(int.Parse(row["page_no"].ToString())); + } + using (var pdf = PdfDocument.Open(fileUrl)) + { + for (int i = 0; i < pdf.NumberOfPages; i++) + { + var page = pdf.GetPage(i + 1); + var rotation = page.Rotation; + + string outputPath = ""; + string isono = ""; + foreach (string key in dic.Keys) + { + if (dic[key].IndexOf(i+1) >= 0) + { + isono = key; + outputPath = $"{rootPath}/File/PDF/Pipe/" + key; + if (!Directory.Exists(outputPath)) + { + Directory.CreateDirectory(outputPath); + } + outputPath = $"{outputPath}/" + key + dic[key].IndexOf(i) + ".pdf"; + } + } + + using (var writer = new PdfDocumentBuilder()) + { + PdfPageBuilder newPage = null; + if (rotation.Value != 0 && rotation.Value != 180) + { + newPage = writer.AddPage(page.Height, page.Width); + } + else + { + newPage = writer.AddPage(page.Width, page.Height); + } + + newPage.CopyFrom(page); + // 3. 关键:清除旋转标记 + 反向旋转内容(修正视觉方向) + // 清除 /Rotate 标记 + newPage.SetRotation(new PageRotationDegrees(rotation.Value)); + var newPdf = writer.Build(); + File.WriteAllBytes(outputPath, newPdf); + + var isoInfo = Funs.DB.HJGL_PW_IsoInfo.FirstOrDefault(x => x.ISO_IsoNo == isono && x.ProjectId==CurrUser.LoginProjectId); + if (isoInfo != null) + { + //保存文件到附件 + + UploadFileService.SaveAttachUrl(UploadFileService.GetSourceByAttachUrl(outputPath.Replace(rootPath, ""), 10, null), outputPath.Replace(rootPath, ""), Const.HJGL_PipelineManageMenuId, isoInfo.ISO_ID); + } + } + } + } + + } protected void btnAudit_Click(object sender, EventArgs e) @@ -112,37 +149,40 @@ namespace FineUIPro.Web.HJGL.DataIn contentPanel1.Hidden = true; btnAudit.Hidden = true; btnSave.Hidden = false; - JObject jobject = JObject.Parse(resultdata.Value); - JArray jArray = jobject.Value("material_rows"); - dt = new DataTable(); - dt.Columns.Add("id"); - dt.Columns.Add("pipe_no"); - dt.Columns.Add("drawing_number"); - dt.Columns.Add("seq_no"); - dt.Columns.Add("category"); - dt.Columns.Add("description"); - dt.Columns.Add("spec"); - dt.Columns.Add("qty"); - dt.Columns.Add("page_no"); - dt.Columns.Add("remark"); - - // 遍历并提取数据 - foreach (JObject item in jArray) + if (!string.IsNullOrEmpty(resultdata.Value)) { - var row = dt.NewRow(); - row["id"] = item.Value("id"); - row["pipe_no"] = item.Value("pipe_no"); - row["drawing_number"] = item.Value("drawing_number"); - row["seq_no"] = item.Value("seq_no"); - row["category"] = item.Value("category"); - row["description"] = item.Value("description"); - row["spec"] = item.Value("spec"); - row["qty"] = item.Value("qty"); - row["page_no"] = item.Value("page_no"); - row["remark"] = item.Value("remark"); - dt.Rows.Add(row); + JObject jobject = JObject.Parse(resultdata.Value); + JArray jArray = jobject.Value("material_rows"); + dt = new DataTable(); + dt.Columns.Add("id"); + dt.Columns.Add("pipe_no"); + dt.Columns.Add("drawing_number"); + dt.Columns.Add("seq_no"); + dt.Columns.Add("category"); + dt.Columns.Add("description"); + dt.Columns.Add("spec"); + dt.Columns.Add("qty"); + dt.Columns.Add("page_no"); + dt.Columns.Add("remark"); + + // 遍历并提取数据 + foreach (JObject item in jArray) + { + var row = dt.NewRow(); + row["id"] = item.Value("id"); + row["pipe_no"] = item.Value("pipe_no"); + row["drawing_number"] = item.Value("drawing_number"); + row["seq_no"] = item.Value("seq_no"); + row["category"] = item.Value("category"); + row["description"] = item.Value("description"); + row["spec"] = item.Value("spec"); + row["qty"] = item.Value("qty"); + row["page_no"] = item.Value("page_no"); + row["remark"] = item.Value("remark"); + dt.Rows.Add(row); + } + BindGrid(); } - BindGrid(); }