public FileItemDTO CompressFile(FileItemEntity fileItem) { fileItem.FileFullPath = FileUtils.GetDefaultInputPath() + fileItem.FileName; File.WriteAllBytes(fileItem.FileFullPath, fileItem.Bytes); var fileItemDTO = new FileItemDTO() { Id = fileItem.Id, FileFullPath = FileUtils.GetNewFileName(fileItem.FileName, FileNameOptionEnum.Compress) }; fileItemDTO.FileName = FileUtils.GetSafeFileName(fileItemDTO.FileFullPath); using (PDFDoc in_doc = new PDFDoc(fileItem.FileFullPath)) { Optimizer.Optimize(in_doc); using (PDFDoc doc = new PDFDoc()) { doc.InsertPages(doc.GetPageCount() + 1, in_doc, 1, in_doc.GetPageCount(), PDFDoc.InsertFlag.e_none); in_doc.Save(fileItemDTO.FileFullPath, SDFDoc.SaveOptions.e_linearized); } } return(fileItemDTO); }
public FileItemDTO ProtectFile(FileItemEntity fileItem) { fileItem.FileFullPath = FileUtils.GetDefaultInputPath() + fileItem.FileName; File.WriteAllBytes(fileItem.FileFullPath, fileItem.Bytes); var fileItemDTO = new FileItemDTO() { Id = fileItem.Id, FileFullPath = FileUtils.GetNewFileName(fileItem.FileName, FileNameOptionEnum.Protect) }; fileItemDTO.FileName = FileUtils.GetSafeFileName(fileItemDTO.FileFullPath); using (PDFDoc doc = new PDFDoc(fileItem.FileFullPath)) { SecurityHandler new_handler = new SecurityHandler(SecurityHandler.AlgorithmType.e_AES_256); string my_password = "******"; new_handler.ChangeUserPassword(my_password); new_handler.SetPermission(SecurityHandler.Permission.e_print, true); new_handler.SetPermission(SecurityHandler.Permission.e_extract_content, false); doc.SetSecurityHandler(new_handler); doc.Save(fileItemDTO.FileFullPath, SDFDoc.SaveOptions.e_linearized); } return(fileItemDTO); }
public FileItemDTO ConvertFileToPDF(FileItemEntity fileItem) { fileItem.FileFullPath = FileUtils.GetDefaultInputPath() + fileItem.FileName; File.WriteAllBytes(fileItem.FileFullPath, fileItem.Bytes); var fileItemDTO = new FileItemDTO() { Id = fileItem.Id, FileFullPath = FileUtils.GetNewFileName(fileItem.FileName, FileNameOptionEnum.Convert) }; fileItemDTO.FileName = FileUtils.GetSafeFileName(fileItemDTO.FileFullPath); using (PDFDoc doc = new PDFDoc()) { try { switch (FileUtils.GetFileType(fileItem.FileFullPath)) { case FileType.MSOffice: pdftron.PDF.Convert.OfficeToPDF(doc, fileItem.FileFullPath, null); break; case FileType.HTML: HTML2PDF converter = new HTML2PDF(); var htmlString = File.ReadAllText(fileItem.FileFullPath); converter.InsertFromHtmlString(htmlString); converter.Convert(doc); break; case FileType.Other: pdftron.PDF.Convert.ToPdf(doc, fileItem.FileFullPath); break; case FileType.NotMapped: throw new ArgumentException($"Extensão {FileUtils.GetFileExtension(fileItem.FileFullPath)} não mapeada"); default: break; } doc.Save(fileItemDTO.FileFullPath, SDFDoc.SaveOptions.e_linearized); return(fileItemDTO); } catch (PDFNetException ex) { throw; } catch (Exception ex) { throw; } } }