public string uploadFile(IFormFile file) { string currentDirectory = CommonUtils.getCurrentDir(); string guid = CommonUtils.Getuuid(); if (file != null) { //文件名称 string projectFileName = file.FileName; //上传的文件的路径 string filePath = currentDirectory + $@"/{guid}.pdf"; using (FileStream fs = System.IO.File.Create(filePath)) { file.CopyTo(fs); fs.Flush(); } PDFEntityConfig pDFEntity = new PDFEntityConfig(); pDFEntity.filePath = filePath; CommonConstantsUtil.PDFCONFIG.GetOrAdd(guid, pDFEntity); } return(guid); }
public MemoryStream saveDataToTemplate(TestTemplateReq allReq) { MemoryStream resultStream = new MemoryStream(); try { MemoryStream memoryStream = new MemoryStream(); PDFEntityConfig pDFEntity = CommonConstantsUtil.PDFCONFIG[allReq.fileCode]; string path = pDFEntity.filePath; PdfReader reader = new PdfReader(path, null); PdfReader.unethicalreading = true; PdfStamper stamper = new PdfStamper(reader, memoryStream, '\0', false); stamper.Writer.CloseStream = false; AcroFields pdfFormFields = stamper.AcroFields; pdfFormFields.SetField(allReq.fieldName, allReq.fieldValue); stamper.FormFlattening = true; stamper.Writer.CloseStream = false; stamper.Close(); memoryStream.Position = 0; reader.Close(); //You have to rewind the MemoryStream before copying // memoryStream.Seek(0, SeekOrigin.Begin); memoryStream.CopyTo(resultStream); memoryStream.Close(); resultStream.Position = 0; } catch (Exception e) { Console.WriteLine(e.Message); } return(resultStream); }
public MemoryStream writeAllTemPlate(string fileCode) { MemoryStream memoryStream = new MemoryStream(); try { PDFEntityConfig pDFEntity = CommonConstantsUtil.PDFCONFIG[fileCode]; string path = pDFEntity.filePath; PdfReader.unethicalreading = true; PdfReader reader = new PdfReader(path); PdfStamper stamper = new PdfStamper(reader, memoryStream, '\0', false); stamper.Writer.CloseStream = false; AcroFields pdfFormFields = stamper.AcroFields; int i = 0; foreach (var item in pdfFormFields.Fields) { string value = i.ToString(); Console.WriteLine("{0}", item.Key); pdfFormFields.SetField(item.Key, value); pDFEntity.directory.Add(value, item.Key); i++; } stamper.FormFlattening = true; stamper.FormFlattening = true; stamper.Writer.CloseStream = false; stamper.Close(); memoryStream.Position = 0; reader.Close(); } catch (Exception e) { Console.WriteLine(e.Message); } return(memoryStream); }
public AusBaseResponse saveTemplate(string fileCode, string template) { AusBaseResponse aus = new AusBaseResponse(); PDFEntityConfig pDFEntityConfig = CommonConstantsUtil.PDFCONFIG[fileCode]; if (pDFEntityConfig == null || pDFEntityConfig.filePath == "") { aus.responseCode = -1; return(aus); } string uuid = CommonUtils.Getuuid(); CommonConstantsUtil.TEMPLATE_CONFIG.GetOrAdd(uuid, template); Console.WriteLine("{0},{1},{2}", fileCode, template, uuid); aus.responseBody = uuid; aus.responseCode = 0; return(aus); }
public AusBaseResponse getRadioTemplate(GetTemplateFieldReq getTemplateFieldReq) { AusBaseResponse ausBaseResponse = new AusBaseResponse(); List <GetTemplateFieldRes> getTemplateFieldResList = new List <GetTemplateFieldRes>(); string fileCode = getTemplateFieldReq.fileCode; PDFEntityConfig pDFEntityConfig = CommonConstantsUtil.PDFCONFIG[fileCode]; string path = pDFEntityConfig.filePath; PdfReader.unethicalreading = true; PdfReader reader = new PdfReader(path); MemoryStream memory = new MemoryStream(); PdfStamper stamper = new PdfStamper(reader, memory, '\0', false); stamper.Writer.CloseStream = false; AcroFields pdfFormFields = stamper.AcroFields; foreach (var item in pdfFormFields.Fields) { var d = item.Value.GetMerged(0); int type = pdfFormFields.GetFieldType(item.Key); if (type == 2) { GetTemplateFieldRes getTemplateFieldRes = new GetTemplateFieldRes(); string[] aaa = pdfFormFields.GetAppearanceStates(item.Key); getTemplateFieldRes.fieldName = item.Key; getTemplateFieldRes.children = aaa; getTemplateFieldResList.Add(getTemplateFieldRes); } } ausBaseResponse.responseBody = getTemplateFieldResList; ausBaseResponse.responseCode = 0; return(ausBaseResponse); }
public MemoryStream saveDataToTemplate(AllReqData allReq) { MemoryStream resultStream = new MemoryStream(); try { MemoryStream memoryStream = new MemoryStream(); PDFEntityConfig pDFEntity = CommonConstantsUtil.PDFCONFIG[allReq.fileCode]; string path = pDFEntity.filePath; PdfReader reader = new PdfReader(path, null); PdfReader.unethicalreading = true; PdfStamper stamper = new PdfStamper(reader, memoryStream, '\0', false); stamper.Writer.CloseStream = false; AcroFields pdfFormFields = stamper.AcroFields; foreach (CardData cardItem in allReq.getAllCards()) { if (cardItem.radioVList != null && cardItem.radioVList != "") { string[] strArray = cardItem.radioVList.Split("--"); pdfFormFields.SetField(strArray[0], strArray[1]); } foreach (RowData rowItem in cardItem.rowList) { if (rowItem.rowType == 2) { foreach (RowItemData childItem in rowItem.rowItemList) { string fieldName = pDFEntity.directory[childItem.rowItemValue]; pdfFormFields.SetField(fieldName, childItem.rowItemTextValue); } continue; } if (rowItem.rowType != 3) { string fieldName = pDFEntity.directory[rowItem.rowValue]; pdfFormFields.SetField(fieldName, rowItem.inputValue); } } } // stamper.SetEncryption( // null, // null, // PdfWriter.ALLOW_PRINTING, // PdfWriter.ENCRYPTION_AES_128); // foreach (var item in pdfFormFields.Fields) // { // string value = i.ToString(); // Console.WriteLine("{0}", item.Key); // pdfFormFields.SetField(item.Key, value); // pDFEntity.directory.Add(value, item.Key); // i++; // } stamper.FormFlattening = true; stamper.Writer.CloseStream = false; stamper.Close(); memoryStream.Position = 0; reader.Close(); //You have to rewind the MemoryStream before copying // memoryStream.Seek(0, SeekOrigin.Begin); memoryStream.CopyTo(resultStream); memoryStream.Close(); resultStream.Position = 0; } catch (Exception e) { Console.WriteLine(e.Message); } return(resultStream); }