ایجاد و دریافت فیلدهای فرم از اسناد ورد با جاوا

جاوا یک زبان کامپیوتری بسیار محبوب برای اتوماسیون ایجاد و manipulat کردن اسناد مایکروسافت ورد (DOC, DOCX) است. به عنوان یک برنامه‌نویس جاوا، شما می‌توانید کدی بنویسید تا اسناد ورد را به‌صورت برنامه‌نویسی تولید، تغییر و ذخیره کنید با استفاده از کتابخانه‌های مختلف جاوا. این می‌تواند در صرفه‌جویی در زمان و تلاش زمانی که عملیات‌هایی مانند گزارش‌گیری، ایجاد فاکتور یا پردازش حجم‌های بزرگ داده انجام می‌دهید، کمک کند. علاوه بر این، به خاطر عدم وابستگی به پلتفرم، Java یک گزینه مناسب برای اتوماسیون اسناد در سیستم‌عامل‌های مختلف است. در این مقاله، نحوه ایجاد و دریافت فیلدهای فرم از اسناد ورد با Java را توضیح خواهیم داد.

نکات زیر در این مقاله پوشش داده خواهد شد:

کتابخانه اتوماسیون ورد Java - نصب

ما از Conholdate.Total for Java برای خودکارسازی اسناد MS Word استفاده خواهیم کرد. روش نصب این کتابخانه خودکارسازی Word Java بسیار آسان است. کاربران Maven می‌توانند فقط تنظیمات زیر را در فایل pom.xml پروژه‌های خود درج کنند.

<repository>
	<id>ConholdateJavaAPI</id>
	<name>Conholdate Java API</name>
	<url>https://releases.conholdate.com/java/repo</url>
</repository>        
<dependency>
	<groupId>com.conholdate</groupId>
	<artifactId>conholdate-total</artifactId>
	<version>23.2</version>
	<type>pom</type>
</dependency>

سپس دستورات زیر را اجرا کنید.

mvn clean    
mvn install -U

برای تنظیم سایر چارچوب‌های جاوا، لطفاً به releases.conholdate.com مراجعه کنید.

خودکارسازی ورد جاوا: درج فیلدهای فرم در مدارک ورد

یک فرم سندی است که دارای جاهای خالی برای پر کردن (فیلدها) است. با استفاده از مایکروسافت ورد، می‌توانید یک فرم ثبت‌نام با لیست‌های کشویی طراحی کنید که کاربران می‌توانند از بین آن‌ها انتخاب کنند. فیلد فرم برای نگهداری انواع خاصی از داده‌ها، مانند نام یا آدرس، استفاده می‌شود. ورودی متن، جعبه‌های ترکیبی و کادرهای تأیید، نمونه‌هایی از فیلدهای فرم در مایکروسافت ورد هستند. در بخش‌های زیر، ما توضیح خواهیم داد که چگونه فیلدهای فرم را در اسناد ورد با استفاده از Java درج کنیم.

Create an Input Text Field in a Word Document with Java

در این زیر بخش، شما یاد خواهید گرفت که چگونه یک فیلد متن ورودی در سند ورد (DOC/DOCX) با استفاده از Java ایجاد کنید. لطفاً مراحل زیر را دنبال کنید:

  1. نخست، یک شیء از کلاس Document ایجاد کنید.
  2. سپس یک شی از DocumentBuilder کلاس ایجاد کنید و آن را با شی Document مقداردهی اولیه کنید.
  3. بعد از آن، یک فیلد ورودی متن با استفاده از DocumentBuilder.insertTextInput اضافه کنید.
  4. در نهایت، سند را ذخیره کنید.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان یک فیلد متن ورودی را در یک سند Word با استفاده از Java وارد کرد.

// Create document
Document doc = new Document();
// Initiallize document builder
DocumentBuilder builder = new DocumentBuilder(doc);
// Add text input
builder.insertTextInput("TextInput", TextFormFieldType.REGULAR, "", "Enter your name here", 30);
// Save the resultant docx
doc.save("output.docx");

مدرک ورد حاصل شده، فیلد ورودی متنی که ایجاد شده است را به صورت اسکرین شات زیر نمایش خواهد داد.

یک فیلد متن ورودی در یک سند ورد با Java ایجاد کنید

یک منوی کشویی در یک سند ورد با استفاده از Java اضافه کنید

این زیر بخش توضیح خواهد داد که چگونه یک لیست کشویی در Word (DOC/DOCX) در Java ایجاد کنیم.

مراحل به صورت زیر ارائه شده‌اند:

  1. اولاً، شیء کلاس Document را اولیه‌سازی کنید.
  2. دوم، یک شی از کلاس شی DocumentBuilder را ایجاد کنید.
  3. سوم، یک فیلد کشویی با استفاده از روش DocumentBuilder.insertComboBox وارد کنید.
  4. در نهایت، سند را ذخیره کنید.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان یک لیست کشویی به اسناد ورد با استفاده از Java اضافه کرد.

// Create document
Document doc = new Document();
// Initiallize document builder
DocumentBuilder builder = new DocumentBuilder(doc);
// Add drop down
String[] items = { "– Select your favorite footwear –", "Sneakers", "Oxfords", "Flip-flops", "Other" };
builder.insertComboBox("DropDown", items, 0);
// ذخیره سند docx نتیجه گرفته شده
doc.save("output.docx");

خروجی در اسکرین شات زیر نمایش داده خواهد شد.

یک فیلد کشویی در یک سند ورد با استفاده از Java ایجاد کنید.

چک باکس در ورد جاوا{#java-create-checkbox-in-word-documents} را وارد کنید

در اینجا، شما یاد خواهید گرفت که چگونه با استفاده از Java در اسناد ورد چک باکس اضافه کنید.

لطفاً کد را طبق مراحل زیر بنویسید:

  1. ابتدا شیء کلاس Document را ایجاد کنید.
  2. سپس یک DocumentBuilder شیء ایجاد کنید و آن را با شیء Document راه‌اندازی کنید.
  3. پس از آن، یک فیلد چک باکس با استفاده از روش DocumentBuilder.insertCheckBox ایجاد کنید.
  4. در نهایت، سند را ذخیره کنید.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان یک کادر انتخاب در مستندات Word با استفاده از Java ایجاد کرد.

// Create document
Document doc = new Document();
// Initiallize document builder
DocumentBuilder builder = new DocumentBuilder(doc);
// Add check box
builder.insertCheckBox("CheckBox", true, true, 0);
// Save the resultant docx
doc.save("output.docx");

Obtain Form Fields from Word Documents using Java Word Automation Library

تا کنون یاد گرفته‌اید که چگونه می‌توانید فیلدهای فرم مختلف را در یک سند Word با Java اضافه کنید. در این بخش، نحوه به‌دست‌آوردن فیلدهای فرم یک فایل Word با Java توضیح داده خواهد شد.

فرض کنید که ما یک فایل داریم که شامل ۴ فرم فیلد است. بیایید یاد بگیریم چگونه مجموعه فیلدها را بگیریم و چگونه فیلدها را با نام یا شاخص آن‌ها به دست آوریم. لطفاً مرحله به مرحله راهنمایی که در زیر آورده شده است را دنبال کنید:

  1. اول، سند Word را با استفاده از کلاس Document بارگذاری کنید.
Document doc = new Document("FormFields.doc");
  1. شیء کلاس FormFieldCollection را که می‌توان با استفاده از روش Range.getFormFields بازیابی کرد به دست آورید.
FormFieldCollection formFields = doc.getRange().getFormFields();
  1. برای دریافت یک فیلد خاص بر اساس ایندکس آن، شما می‌توانید شیء کلاس FormField را با استفاده از روش get(int index) از FormFieldCollection دریافت کنید.
FormField formField1 = documentFormFields.get(3);
  1. به همین ترتیب، شما می‌توانید با نام شیء از کلاس FormField را با استفاده از متد سربارگذاری شده get(string name) از FormFieldCollection به دست آورید.
FormField formField2 = documentFormFields.get("Text2");

کد نمونه زیر تمامی مراحل بالا را جمع بندی می کند.

// Create document
Document doc = new Document();
// Get the form fields
FormFieldCollection formFields = doc.getRange().getFormFields();
// فیلد فرم را با ایندکس بدست آورید
FormField formField1 = documentFormFields.get(3);
// فیلد فرم را با نام دریافت کنید
FormField formField2 = documentFormFields.get("Text2");
// Print the name of form field
System.out.println("Name: " + formField2.getName());

سوالات متداول

آیا خودکارسازی مستندات ورد در تمام مستندات مناسب است؟

به طور خلاصه، خیر. این با اسنادی که از الگوی اصلی ایجاد شده‌اند، عملکرد خوبی دارد.

How do I create Word document automation fields?

فیلدهای اتوماسیون در Microsoft Word موجود است. گاهی اوقات تنظیمات مشکل‌ساز است. کتابخانه‌های برنامه‌نویسی مانند Conholdate.Total for Java برای اتوماسیون اسناد Word معمولاً یک جایگزین ترجیحی هستند.

What kind of Word documents are the best for automation?

ما کشف کرده‌ایم که خودکارسازی اسناد تکراری بهترین نتایج خارق‌العاده را به ارمغان می‌آورد. NDA ها، نامه‌های استخدام، اسناد، توافق‌نامه‌ها و سایر اسناد مشابه، به عنوان مثال، مکان عالی برای شروع هستند.

دریافت یک مجوز رایگان

شما می‌توانید یک مجوز موقت رایگان برای آزمایش API بدون محدودیت‌های ارزیابی دانلود کنید.

جمع‌بندی

در این مقاله، ما توضیح داده‌ایم که چگونه با استفاده از جاوا، فیلدهای فرم را در اسناد MS Word به‌دست آوریم و ایجاد کنیم. ما مراحل اضافه کردن ورودی متنی، منوی کشویی و فیلدهای چک باکس را در یک فایل DOC/DOCX مورد بحث قرار داده‌ایم. در نهایت، ما مراحل به‌دست آوردن فیلدهای فرم از یک سند Word را مورد بحث قرار داده‌ایم.

برای یادگیری بیشتر درباره Java Word automation library، می‌توانید به documentation مراجعه کنید.

سرانجام، لطفاً به بازدید از conholdate.com برای به‌روزرسانی‌های منظم ادامه دهید.

سوال بپرسید

Feel free to post your questions or comments in our forum.

همچنین ببینید