使用 C# 从 JSON 标记创建调查表

调查在公司或组织发展业务的市场研究中起着至关重要的作用。他们使用调查表来收集客户反馈、用户评论或意见。调查表通常包括用于标记用户输入的多项选择题。我们可以通过编程方式从 JSON 标记轻松生成调查、测验和准备打印的 OMR 答案表。 JSON 允许存储和传输可以以编程方式解析和处理的数据。在本文中,我们将学习如何使用 C# 从 JSON 标记创建调查表。

本文将涵盖以下主题:

C# OMR API 从 JSON 创建调查表

为了从 JSON 标记创建调查表,我们将使用 Aspose.OMR for .NET API。它允许设计、创建和识别答题纸、测试、MCQ 试卷、测验、反馈表、调查和选票。请下载 API 的 DLL 或使用 NuGet 安装它。

PM> Install-Package Aspose.OMR

使用 C# 从 JSON 标记创建 OMR 调查表

我们可以按照以下步骤从 JSON 标记创建调查表:

  • 首先,创建一个 OmrEngine 类的实例。
  • 接下来,使用 JSON 标记文件路径作为参数调用 GenerateJSONTemplate 方法。
  • 之后,将结果作为 GenerationResult 类的对象。
  • 最后调用Save方法保存模板图片和OMR模板。它将本地磁盘文件夹的路径和模板的名称作为参数。

以下代码示例演示如何使用 C# 从 JSON 标记创建 OMR 调查表单模板。

// 此代码示例演示如何从 JSON 标记生成调查图像和 OMR。
// 带有模板标记的 JSON 文件的路径
string markupPath = @"C:\Files\OMR\SimpleSurvey.json";

// 初始化 OMR 引擎
OmrEngine engine = new OmrEngine();

// 生成模板
GenerationResult res = engine.GenerateJSONTemplate(markupPath);

// 保存到本地磁盘
res.Save(@"C:\Files\OMR\", "SimpleSurvey");
Create OMR Survey Form from JSON Markup using C#

我们在上面提到的代码示例中使用了以下 JSON 模板标记。

{
	"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"
				}
			]
		}
	]
}

使用 C# 从 JSON 标记生成 PDF 格式的调查

我们还可以按照上述步骤将生成的调查表保存在 PDF 文档中。但是,我们只需要调用 SaveAsPdf(string folder, string name) 方法,而不是最后一步中的 Save 方法。

// 此代码示例演示如何从 JSON 标记生成调查 OMR 和另存为 PDF。
// 带有模板标记的 JSON 文件的路径
string markupPath = @"C:\Files\OMR\SimpleSurvey.json";

// 初始化 OMR 引擎
OmrEngine engine = new OmrEngine();

// 生成模板
GenerationResult res = engine.GenerateJSONTemplate(markupPath);

// 保存到本地磁盘
res.SaveAsPdf(@"C:\Files\OMR\", "SimpleSurvey");
使用 C# 从 JSON 标记创建 PDF 格式的调查

使用 C# 从 JSON 标记创建 PDF 格式的调查。

获得免费许可证

您可以获得免费的临时许可证 试用该库而不受评估限制。

结论

在本文中,我们学习了如何从 JSON 标记创建 OMR 调查模板并生成调查图像。我们还了解了如何以编程方式将生成的调查保存在 PDF 文档中。此外,您可以使用 文档 了解更多关于 Aspose.OMR for .NET API 的信息。如有任何歧义,请随时在 论坛 上与我们联系。

也可以看看