public string Convert(List <PDFInfo> listPDFInfo, string outputFolder, string outputFilename) { List <string> listFileTemp = new List <string>(); try { PdfSharp.Pdf.PdfDocument outputPDFDocument = new PdfSharp.Pdf.PdfDocument(); string fileCombine = outputFolder + @"\" + (!string.IsNullOrWhiteSpace(outputFilename) ? outputFilename.Trim() : Guid.NewGuid().ToString()) + ".pdf"; listPDFInfo = listPDFInfo.OrderBy(x => x.Order).ToList(); if (!Directory.Exists(outputFolder)) { Directory.CreateDirectory(outputFolder); } ConvertToPDF convertToPDF = new ConvertToPDF(); foreach (var item in listPDFInfo) { string fileTemp = outputFolder + @"\" + Guid.NewGuid().ToString() + Path.GetFileName(item.FilePDF); File.Copy(item.FilePDF, fileTemp); listFileTemp.Add(fileTemp); if (item.Rotate != 0) { convertToPDF.RotatePDF(fileTemp, item.Rotate); } PdfSharp.Pdf.PdfDocument inputPDFDocument = PdfSharp.Pdf.IO.PdfReader.Open(fileTemp, PdfSharp.Pdf.IO.PdfDocumentOpenMode.Import); outputPDFDocument.Version = inputPDFDocument.Version; foreach (PdfSharp.Pdf.PdfPage page in inputPDFDocument.Pages) { outputPDFDocument.AddPage(page); } } outputPDFDocument.Save(fileCombine); return(fileCombine); } catch (Exception ex) { throw; } finally { if (listFileTemp.Count > 0) { listFileTemp.ForEach(item => { if (File.Exists(item)) { File.Delete(item); } }); } } }
private List <string> PdfConvertImage(int nBit, string outputFolder, string fileName, string baseFileName, int DPI = 96, string fileExtension = "pdf", bool multiPage = false) { List <string> filePDFTemp = new List <string>(); try { PDFToImage convert = new PDFToImage(); List <string> result = new List <string>(); if (!multiPage) { ConvertToPDF pdf = new ConvertToPDF(); filePDFTemp = pdf.SplitPDF(outputFolder, fileName, baseFileName); filePDFTemp.ForEach(item => { result.Add(convert.Convert(item, Path.GetDirectoryName(outputFolder), 10, fileExtension, DPI)); }); } else { if (fileExtension.ToLower().Contains("tif")) { if (string.IsNullOrWhiteSpace(baseFileName)) { baseFileName = Path.GetFileNameWithoutExtension(fileName); } List <string> ImageTemp = new List <string>(); ConvertToPDF pdf = new ConvertToPDF(); filePDFTemp = pdf.SplitPDF(outputFolder, fileName, baseFileName); filePDFTemp.ForEach(item => { ImageTemp.Add(convert.Convert(item, Path.GetDirectoryName(outputFolder), 10, "jpg", DPI)); }); result.Add(NImageToTiff(Path.GetDirectoryName(outputFolder), ImageTemp, baseFileName, nBit)); } else { result.Add(convert.Convert(fileName, Path.GetDirectoryName(outputFolder), 10, fileExtension, DPI)); } } return(result); } finally { filePDFTemp.ForEach(item => { if (File.Exists(item)) { File.Delete(item); } }); } }
public void SplitFile() { ConvertToPDF pdf = new ConvertToPDF(); pdf.SplitPDF(@"D:\Temp", @"D:\Temp\Enter1243657669_20171005165258883.pdf", "ABCDE"); }