/// <summary> /// Genera un codigo de barras a partir de la data especificada y lo guarda como imagen en formato .png /// </summary> /// <param name="data">Los datos que se van a codificar.</param> /// <param name="fullPathDirectory">El directorio de salida de la imagen.</param> /// <returns>Devuelve un número entero positivo o negativo.</returns> public int GenerateBarCodeAsPNG(string data, string fullPathDirectory, bool rotate) { try { var directory = fullPathDirectory.Substring(fullPathDirectory.Length - 1, 1) != "\\" ? fullPathDirectory = fullPathDirectory + "\\" : fullPathDirectory; string fileName = $"{directory}barCode.png"; var barCode = BarcodeWriter.CreateBarcode(data, BarcodeEncoding.Code128); var result = barCode.SaveAsPng(fileName); if (rotate) { DocumentProcessor.RotateImage(result.ToBitmap(), fileName); } return((int)TypesEvent.SuccessProccess); } catch (IronBarCodeEncodingException encex) { var message = encex.Message; if (message.Contains("Bad character in input")) { return((int)TypesEvent.BadCharacter); } else if (message.Contains("Contents length should be between 1 and 80 characters")) { return((int)TypesEvent.ContentLength); } else { return((int)TypesEvent.ErrorGeneric); } } catch (Exception) { return((int)TypesEvent.ErrorGeneric); } }
/// <summary> /// Agregar o inserta la imagen de la firma en el documento especificado. /// </summary> /// <param name="documentConfig">Es la configuración del documento.</param> /// <param name="signatureConfig">Es la configuración de la firma.</param> /// <returns>Devuelve un entero positivo o negativo que indica si el proceso se completo o no.</returns> public int AddSignatureInDocument(DocumentConfig documentConfig, SignatureConfig signatureConfig) { int output = 0; try { if (!documentConfig.FullPathTemplate.FileExist()) { output = (int)TypesEvent.FileNotFound; return(output); } Document document = new Document(documentConfig.FullPathTemplate); var fieldSignatures = DocumentProcessor.FindFieldByKeyWord(document, signatureConfig.FieldSignatureName); if (fieldSignatures == null) { output = (int)TypesEvent.FieldNotFound; return(output); } string fieldSignature = DocumentProcessor.GetFieldNameInMergedField(fieldSignatures.DisplayResult); document.InsertImageInDocument(signatureConfig.FullPathImage, fieldSignature, signatureConfig.Width, signatureConfig.Height); if (!string.IsNullOrEmpty(signatureConfig.FieldFooterName)) { var footerField = DocumentProcessor.FindFormFieldByKeyWord(document, signatureConfig.FieldFooterName); if (footerField == null) { output = (int)TypesEvent.FieldNotFound; return(output); } footerField.Result = signatureConfig.FieldFooterValue; } return(document.SaveDocument(documentConfig.FullPathDirectory, documentConfig.FileName, ".docx")); } catch (UnsupportedFileFormatException) { output = (int)TypesEvent.UnsupportedFileFormat; } catch (FileCorruptedException) { output = (int)TypesEvent.FileCorrupted; } catch (IOException ioex) { var message = ioex.Message.ToLower(); if (message.Contains("porque está siendo utilizado en otro proceso")) { output = (int)TypesEvent.DocumentInOtherProccess; } else { output = (int)TypesEvent.ErrorGeneric; } } catch (Exception ex) { output = (int)TypesEvent.ErrorGeneric; } return(output); }