using System; using System.Collections.Generic; using System.Diagnostics; using ComPDFKitViewer.PdfViewer; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; using System.Windows.Documents; using static System.Windows.Forms.VisualStyles.VisualStyleElement; namespace PDF_Office.Helper { public static class HomePageEditHelper { /// /// 获取所需要分文档份数 /// /// 文档总页数 /// 平均几页分为一个文档 /// 最后文档的页数的引用 例如11页文档每3页为一份PDF,3,3,3,2,remainder=2 /// public static int AverageSplitPages(int pagecontent, int averagepage, ref int remainder) { if (pagecontent <= 0) { remainder = 0; return 0; } if (pagecontent <= averagepage) { remainder = pagecontent; return 1; } if (pagecontent > averagepage) { if (pagecontent % averagepage == 0) { remainder = 0; return pagecontent / averagepage; } remainder = pagecontent % averagepage; return (pagecontent / averagepage) + 1; } remainder = 0; return -1; } /// /// 获取平均每个文档的页数 /// /// 文档总页数 /// 平均几页分为一个文档 /// 引用,截至第几位文档比后面文档多一 例如11页文档 分为3份 4,4,3 remainder为1 第一个文档和第二文档比后续文档多一 /// public static int AverageSplitDocs(int pagecontent, int averagedoc, ref int remainder) { if (pagecontent <= 0) { remainder = 0; return 0; } if (pagecontent <= averagedoc) { remainder = 0; return 1; } if (pagecontent > averagedoc) { remainder = pagecontent % averagedoc; return pagecontent / averagedoc; } return 0; } public static void GetPagerange(string PageRangeSelectIndex, CPDFViewer currentViewer, ref string pageRange, string pageRangeText, bool currentpage = false, string currentPageRange="1") { if (!currentpage) { if (PageRangeSelectIndex == "0") { pageRange = "1-" + currentViewer.Document.PageCount.ToString(); Trace.WriteLine(" extractModel.PageRange" + pageRange); } else if (PageRangeSelectIndex == "1") { pageRange = "1"; for (int i = 3; i <= currentViewer.Document.PageCount; i += 2) pageRange = pageRange + "," + i; Trace.WriteLine(" extractModel.PageRange" + pageRange); } else if (PageRangeSelectIndex == "2") { pageRange = "2"; for (int i = 4; i <= currentViewer.Document.PageCount; i += 2) pageRange = pageRange + "," + i; Trace.WriteLine(" extractModel.PageRange" + pageRange); } else if (PageRangeSelectIndex == "3") { if (pageRangeText != "") { pageRange = pageRangeText; } Trace.WriteLine(" extractModel.PageRange" + pageRange); } else { return; } } else { if (PageRangeSelectIndex == "0") { pageRange = "1-" + currentViewer.Document.PageCount.ToString(); Trace.WriteLine(" extractModel.PageRange" + pageRange); } if (PageRangeSelectIndex == "1") { pageRange = currentPageRange; Trace.WriteLine(" extractModel.PageRange" + pageRange); } else if (PageRangeSelectIndex == "2") { pageRange = "1"; for (int i = 3; i <= currentViewer.Document.PageCount; i += 2) pageRange = pageRange + "," + i; Trace.WriteLine(" extractModel.PageRange" + pageRange); } else if (PageRangeSelectIndex == "3") { pageRange = "2"; for (int i = 4; i <= currentViewer.Document.PageCount; i += 2) pageRange = pageRange + "," + i; Trace.WriteLine(" extractModel.PageRange" + pageRange); } else if (PageRangeSelectIndex == "4") { if (pageRangeText != "") { pageRange = pageRangeText; } Trace.WriteLine(" extractModel.PageRange" + pageRange); } else { return; } } } } }