Utwórz formularz ankiety ze znaczników JSON przy użyciu C#

Ankiety odgrywają istotną rolę w badaniach rynku dla firm lub organizacji, aby rozwijać swoją działalność. Używają formularzy ankiet do zbierania opinii klientów, recenzji użytkowników lub opinii. Formularze ankiet zwykle zawierają pytania wielokrotnego wyboru, które oznaczają dane wprowadzone przez użytkownika. Możemy łatwo programowo generować ankiety, quizy i gotowe do druku arkusze odpowiedzi OMR ze znaczników JSON. JSON umożliwia przechowywanie i transport danych, które można analizować i przetwarzać programowo. W tym artykule dowiemy się, jak utworzyć formularz ankiety ze znaczników JSON przy użyciu języka C#.

W tym artykule zostaną omówione następujące tematy:

Interfejs API C# OMR do tworzenia formularza ankiety z formatu JSON

Do tworzenia formularzy ankiet ze znaczników JSON będziemy używać Aspose.OMR for .NET API. Pozwala projektować, tworzyć i rozpoznawać arkusze odpowiedzi, testy, arkusze MCQ, quizy, formularze zwrotne, ankiety i karty do głosowania. Pobierz bibliotekę DLL interfejsu API lub zainstaluj ją za pomocą NuGet.

PM> Install-Package Aspose.OMR

Utwórz formularz ankiety OMR z JSON Markup przy użyciu C#

Możemy utworzyć formularz ankiety ze znaczników JSON, wykonując czynności podane poniżej:

  • Najpierw utwórz instancję klasy OmrEngine.
  • Następnie wywołaj metodę GenerateJSONTemplate ze ścieżką pliku znaczników JSON jako argumentem.
  • Następnie pobierz wyniki jako obiekt klasy GenerationResult.
  • Na koniec wywołaj metodę Save, aby zapisać obrazy szablonów i szablon OMR. Jako argumenty przyjmuje ścieżkę do folderu na dysku lokalnym i nazwę szablonu.

Poniższy przykład kodu demonstruje, jak utworzyć szablon formularza ankiety OMR ze znaczników JSON przy użyciu języka C#.

// Ten przykład kodu demonstruje, jak wygenerować obraz ankiety i OMR ze znaczników JSON.
// Ścieżka do pliku JSON ze znacznikami szablonu
string markupPath = @"C:\Files\OMR\SimpleSurvey.json";

// Zainicjuj silnik OMR
OmrEngine engine = new OmrEngine();

// Wygeneruj szablon
GenerationResult res = engine.GenerateJSONTemplate(markupPath);

// Zapisz na dysku lokalnym
res.Save(@"C:\Files\OMR\", "SimpleSurvey");

W powyższym przykładzie kodu użyliśmy następującego znacznika szablonu 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"
				}
			]
		}
	]
}

Wygeneruj ankietę w formacie PDF z JSON Markup przy użyciu C#

Możemy również zapisać wygenerowany formularz ankiety w dokumencie PDF, wykonując powyższe czynności. Jednak musimy tylko wywołać metodę SaveAsPdf(string folder, string name) zamiast metody Save w ostatnim kroku.

// Ten przykładowy kod demonstruje sposób generowania OMR ankiety i zapisywania jako PDF ze znaczników JSON.
// Ścieżka do pliku JSON ze znacznikami szablonu
string markupPath = @"C:\Files\OMR\SimpleSurvey.json";

// Zainicjuj silnik OMR
OmrEngine engine = new OmrEngine();

// Wygeneruj szablon
GenerationResult res = engine.GenerateJSONTemplate(markupPath);

// Zapisz na dysku lokalnym
res.SaveAsPdf(@"C:\Files\OMR\", "SimpleSurvey");
Utwórz ankietę w formacie PDF z JSON Markup przy użyciu C#

Utwórz ankietę w formacie PDF z JSON Markup przy użyciu języka C#.

Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować bibliotekę bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule dowiedzieliśmy się, jak utworzyć szablon ankiety OMR ze znaczników JSON i wygenerować obrazy ankiety. Widzieliśmy również, jak programowo zapisać wygenerowaną ankietę w dokumencie PDF. Poza tym możesz dowiedzieć się więcej o Aspose.OMR for .NET API korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też