Cree un formulario de encuesta a partir de JSON Markup usando C#

Las encuestas juegan un papel vital en la investigación de mercado para que las empresas u organizaciones hagan crecer sus negocios. Utilizan formularios de encuestas para recopilar comentarios de los clientes, reseñas de usuarios u opiniones. Los formularios de encuesta suelen incluir preguntas de opción múltiple para marcar las entradas de los usuarios. Podemos generar fácilmente encuestas, cuestionarios y hojas de respuestas OMR listas para imprimir a partir del marcado JSON mediante programación. JSON permite almacenar y transportar datos que se pueden analizar y procesar mediante programación. En este artículo, aprenderemos cómo crear un formulario de encuesta a partir del marcado JSON usando C#.

En este artículo se tratarán los siguientes temas:

API de C# OMR para crear un formulario de encuesta a partir de JSON

Para crear formularios de encuesta a partir del marcado JSON, utilizaremos Aspose.OMR for .NET API. Permite diseñar, crear y reconocer hojas de respuestas, pruebas, documentos MCQ, cuestionarios, formularios de comentarios, encuestas y boletas. Descargue la DLL de la API o instálela usando NuGet.

PM> Install-Package Aspose.OMR

Cree un formulario de encuesta OMR a partir de JSON Markup usando C#

Podemos crear un formulario de encuesta a partir del marcado JSON siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cree una instancia de la clase OmrEngine.
  • A continuación, llame al método GenerateJSONTemplate con la ruta del archivo de marcado JSON como argumento.
  • Después de eso, obtenga resultados como un objeto de la clase GenerationResult.
  • Finalmente, llame al método Save para guardar las imágenes de la plantilla y la plantilla OMR. Toma la ruta de la carpeta del disco local y el nombre de la plantilla como argumentos.

El siguiente ejemplo de código demuestra cómo crear una plantilla de formulario de encuesta OMR a partir del marcado JSON usando C#.

// Este ejemplo de código demuestra cómo generar una imagen de encuesta y OMR a partir del marcado JSON.
// Ruta al archivo JSON con marcado de plantilla
string markupPath = @"C:\Files\OMR\SimpleSurvey.json";

// Inicializar el motor OMR
OmrEngine engine = new OmrEngine();

// Generar plantilla
GenerationResult res = engine.GenerateJSONTemplate(markupPath);

// Guardar en el disco local
res.Save(@"C:\Files\OMR\", "SimpleSurvey");
Create OMR Survey Form from JSON Markup using C#

Hemos utilizado el siguiente marcado de plantilla JSON en el ejemplo de código mencionado anteriormente.

{
	"element_type": "template",
	"children": [
		{
			"element_type": "page",
			"children": [
				{
					"name": "Welcome to Sample Survey",
					"element_type": "text",
					"font_style": "bold",
					"font_size": 16,
					"align": "center"
				},
				{
					"element_type": "emptyLine"
				},
				{
					"element_type": "text",
					"name": "February 25, 2022",
					"font_style": "italic",
					"align": "right"
				},
				{
					"element_type": "emptyLine"
				},
				{
					"name": "Section - I",
					"element_type": "text",
					"font_style": "bold",
					"font_size": 14,
					"align": "Left"
				},
				{
					"font_family": "Segoe UI",
					"font_style": "Regular",
					"font_size": 12,
					"align": "Left",
					"answers_string": "(() Yes, indeed! () No",
					"question_text": "Can Aspose.OMR process not only scans, but also photos?\r\n",
					"element_type": "ChoiceBox"
				},
				{
					"font_family": "Segoe UI",
					"font_style": "Regular",
					"font_size": 12,
					"align": "Left",
					"answers_string": "((Yes) Yes, indeed! (No) No",
					"question_text": "Aspose.OMR works with any kind of OMR forms: tests, exams, questionnaires, surveys, etc.\r\n",
					"element_type": "ChoiceBox"
				},
				{
					"font_family": "Segoe UI",
					"font_style": "Regular",
					"font_size": 12,
					"align": "Left",
					"answers_string": "(() Very high quality () High quality\r\n() Average quality () Low quality",
					"question_text": "How would you rate the quality of the product:\r\n",
					"element_type": "ChoiceBox"
				},
				{
					"font_family": "Segoe UI",
					"font_style": "Regular",
					"font_size": 12,
					"align": "Left",
					"answers_string": "(1) (2) (3) (4) (5) (6) (7) (8) (9)",
					"question_text": "How likely is it that you would recommend our company to a friend or colleague?\r\n",
					"element_type": "ChoiceBox"
				},
				{
					"element_type": "emptyLine"
				},
				{
					"children": [
						{
							"name": "Section - II",
							"font_style": "Bold",
							"font_size": 14,
							"align": "Left",
							"element_type": "Text"
						},
						{
							"name": "main_container",
							"children": [
								{
									"name": "main_block",
									"children": [
										{
											"name": "product survey",
											"children": [
												{
													"font_family": "Segoe UI",
													"font_style": "Bold",
													"font_size": 12,
													"row_proportions": [
														60,
														20,
														10,
														10
													],
													"name": "How would you rate your total experience?",
													"children": [
														{
															"name": "Score",
															"header_type": "Amount",
															"element_type": "ScoreHeader"
														},
														{
															"name": "Yes",
															"header_type": "Positive",
															"element_type": "ScoreHeader"
														},
														{
															"name": "No",
															"header_type": "Negative",
															"element_type": "ScoreHeader"
														},
														{
															"Score": 5,
															"element_type": "ScoreAnswer",
															"name": "I am enjoy the product."
														},
														{
															"Score": 10,
															"element_type": "ScoreAnswer",
															"name": "I will recommend it to my friends."
														}
													],
													"element_type": "ScoreQuestion"
												}
											],
											"score_group_type": "Table",
											"element_type": "ScoreGroup"
										}
									],
									"column": 1,
									"element_type": "Block"
								}
							],
							"columns_count": 1,
							"element_type": "Container"
						},
						{
							"element_type": "page",
							"children": [
								{
									"name": "1-st",
									"children": [
										{
											"name": "Process",
											"children": [
												{
													"name": "Process",
													"element_type": "writeIn"
												}
											],
											"element_type": "block"
										}
									],
									"element_type": "container"
								}
							]
						}
					],
					"element_type": "Page"
				}
			]
		}
	]
}

Genere una encuesta en PDF desde JSON Markup usando C#

También podemos guardar el formulario de encuesta generado en un documento PDF siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos llamar al método SaveAsPdf(string folder, string name) en lugar del método Save en el último paso.

// Este ejemplo de código demuestra cómo generar Survey OMR y Guardar como PDF desde el marcado JSON.
// Ruta al archivo JSON con marcado de plantilla
string markupPath = @"C:\Files\OMR\SimpleSurvey.json";

// Inicializar el motor OMR
OmrEngine engine = new OmrEngine();

// Generar plantilla
GenerationResult res = engine.GenerateJSONTemplate(markupPath);

// Guardar en el disco local
res.SaveAsPdf(@"C:\Files\OMR\", "SimpleSurvey");
Cree una encuesta en PDF desde JSON Markup usando C#

Cree una encuesta en PDF desde JSON Markup usando C#.

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para probar la biblioteca sin limitaciones de evaluación.

Conclusión

En este artículo, aprendimos cómo crear una plantilla de encuesta OMR a partir del marcado JSON y generar imágenes de encuesta. También hemos visto cómo guardar la encuesta generada en un documento PDF mediante programación. Además, puede obtener más información sobre Aspose.OMR for .NET API utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también