ایجاد بارکد در اسناد Word با استفاده از سی شارپ

بارکدها تصاویری به شکل خطوط موازی، نقاط یا مستطیل با داده ها/اطلاعات رمزگذاری شده هستند. متخصصان صنعت اطلاعات محصول را تعبیه می کنند و به آن دسترسی دارند، حرکت محصول را ردیابی می کنند و با استفاده از بارکدها از موجودی آن مطلع می شوند. در موارد خاص، ممکن است نیاز به تولید و اضافه کردن بارکد در اسناد MS Word داشته باشیم. MS Word محبوب ترین و پرکاربردترین برنامه پردازش کلمه گرافیکی است. برای ایجاد اسناد جدید با متن، تصویر یا گرافیک، نوشتن نوشته‌های با کیفیت حرفه‌ای، ویرایش و قالب‌بندی اسناد موجود و غیره استفاده می‌شود. DOCX و DOC محبوب‌ترین‌ها هستند. فرمت فایل های پشتیبانی شده توسط MS Word. در این مقاله نحوه ایجاد بارکد در اسناد ورد را به صورت برنامه نویسی با استفاده از سی شارپ یاد خواهیم گرفت.

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

C# API برای ایجاد بارکد در اسناد Word

برای تولید بارکد و افزودن تصویر بارکد به اسناد ورد، از یک روش دو مرحله ای پیروی می کنیم. ابتدا از Aspose.Words for .NET API برای ایجاد یا بارگذاری یک سند Word استفاده می کنیم، سپس تصویر بارکد را با استفاده از [Aspose.BarCode for .NET] تولید و به سند اضافه می کنیم. 4] API. کلاس Document Aspose.Words for .NET API اجازه ایجاد یک سند Word جدید یا بارگیری یک فایل Word موجود در برنامه را می دهد. متد Save() این کلاس سند را در مسیر فایل داده شده ذخیره می کند. کلاس DocumentBuilder از API روش هایی را برای ساخت یک سند ارائه می دهد. این روش‌های مختلف InsertImage() را برای درج تصویر در سند فراهم می‌کند.

Aspose.BarCode for .NET API اجازه تولید انواع [انواع بارکدهای پشتیبانی شده] را می دهد. برای این منظور، کلاس BarcodeGenerator را برای تولید بارکد EncodeType مشخص شده فراهم می کند. ما می توانیم تصویر بارکد تولید شده را با استفاده از روش Save() این کلاس ذخیره کنیم. API همچنین شمارش BarCodeImageFormat را برای تعیین فرمت‌های ذخیره ارائه می‌کند. ما می توانیم بارکد را از روی تصاویر با استفاده از کلاس BarCodeReader API بخوانیم.

لطفاً DLLهای APIها را دانلود یا با استفاده از NuGet نصب کنید.

PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.Words

تولید و اضافه کردن بارکد به سند Word در سی شارپ

با دنبال کردن مراحل زیر می‌توانیم یک سند Word جدید ایجاد کنیم و یک تصویر بارکد به سند اضافه کنیم:

  1. ابتدا یک نمونه از کلاس BarcodeGenerator ایجاد کنید. EncodeType و متن را به عنوان آرگومان رمزگذاری می کند.
  2. در مرحله بعد، یک نمونه از شی جریان حافظه ایجاد کنید.
  3. سپس متد Save() را فراخوانی کنید تا تصویر بارکد در جریان حافظه ذخیره شود.
  4. سپس یک نمونه از کلاس Document ایجاد کنید.
  5. سپس یک نمونه از کلاس DocumentBuilder را با شی Document مقداردهی اولیه کنید.
  6. پس از آن، تصویر بارکد را با استفاده از روش InsertImage() با شی جریان به عنوان آرگومان وارد کنید.
  7. در نهایت متد Save() را فراخوانی کنید. مسیر فایل خروجی DOCX را به عنوان آرگومان می گیرد.

مثال کد زیر نحوه تولید و افزودن بارکد به یک سند جدید Word را با استفاده از C# نشان می دهد.

// این مثال کد نحوه ایجاد و افزودن یک تصویر بارکد به سند Word را نشان می دهد.
// مسیر دایرکتوری اسناد
string dataDir = @"C:\Files\BarCode\";

// شیء بارکد خطی را نمونه‌سازی کنید، متن کد و نوع نماد را برای بارکد تنظیم کنید
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567890");

// ایجاد جریان حافظه و ذخیره تصویر بارکد در جریان حافظه
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// یک سند Word جدید ایجاد کنید
Aspose.Words.Document doc = new Aspose.Words.Document();

// ایجاد سازنده برای آبجکت سند
DocumentBuilder builder = new DocumentBuilder(doc);

// تصویر بارکد را در سند وارد کنید
builder.InsertImage(ms);

// سند word را ذخیره کنید
doc.Save(dataDir + "Sample_out.docx");
ایجاد و اضافه کردن بارکد به یک سند جدید Word در سی شارپ.

ایجاد و اضافه کردن بارکد به یک سند جدید Word در سی شارپ.

اضافه کردن بارکد به سند ورد موجود در سی شارپ

با دنبال کردن مراحل زیر می‌توانیم یک تصویر بارکد را به هر سند Word موجود ایجاد و اضافه کنیم:

  1. ابتدا یک نمونه از کلاس BarcodeGenerator با EncodeType و متنی برای رمزگذاری به عنوان آرگومان ایجاد کنید.
  2. در مرحله بعد، یک نمونه از شی جریان حافظه ایجاد کنید.
  3. سپس متد Save() را فراخوانی کنید تا تصویر بارکد در جریان حافظه ذخیره شود.
  4. سپس، یک سند Word موجود را با استفاده از کلاس Document بارگذاری کنید.
  5. سپس یک نمونه از کلاس DocumentBuilder را با شی Document مقداردهی اولیه کنید.
  6. پس از آن، تصویر بارکد را با استفاده از روش InsertImage() با شی جریان و موقعیت آن به عنوان آرگومان وارد کنید.
  7. در نهایت متد Save() را فراخوانی کنید. مسیر فایل خروجی DOCX را به عنوان آرگومان می گیرد.

مثال کد زیر نحوه تولید و افزودن بارکد به یک سند Word موجود با استفاده از سی شارپ را نشان می دهد.

// این مثال کد نحوه ایجاد و افزودن یک تصویر بارکد به یک سند Word موجود را نشان می دهد.
// مسیر دایرکتوری اسناد
string dataDir = @"C:\Files\BarCode\";

// شیء بارکد خطی را نمونه‌سازی کنید، متن کد و نوع نماد را برای بارکد تنظیم کنید
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Codabar, "1234567890");

// ایجاد جریان حافظه و ذخیره تصویر بارکد در جریان حافظه
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// یک سند Word جدید ایجاد کنید
Document doc = new Document(dataDir + "sample.docx");

// ایجاد سازنده برای آبجکت سند
DocumentBuilder builder = new DocumentBuilder(doc);

// تصویر بارکد را در سند وارد کنید
builder.InsertImage(ms,
    RelativeHorizontalPosition.Margin,
    0,
    RelativeVerticalPosition.Margin,
    400,
    200,
    100,
    WrapType.Square);

// سند word را ذخیره کنید
doc.Save(dataDir + "Sample_out.docx");
بارکد را به سند ورد موجود در سی شارپ اضافه کنید.

بارکد را به سند ورد موجود در سی شارپ اضافه کنید.

افزودن کد QR به سند Word با استفاده از سی شارپ

به همین ترتیب، ما همچنین می‌توانیم یک تصویر کد QR ایجاد کرده و با انجام مراحلی که قبلا ذکر شد، آن را به سند Word اضافه کنیم. با این حال، ما فقط باید EncodeType را به عنوان QR یا GS1QR در مرحله اول تنظیم کنیم. همچنین ممکن است لازم باشد موقعیت تصویر را در مرحله 6 تنظیم کنیم.

مثال کد زیر نحوه افزودن یک کد QR به سند Word را با استفاده از C# نشان می دهد.

// این مثال کد نحوه تولید و افزودن کد QR به یک سند Word موجود را نشان می دهد.
// مسیر دایرکتوری اسناد
string dataDir = @"C:\Files\BarCode\";

// شیء بارکد خطی را نمونه‌سازی کنید، متن کد و نوع نماد را برای بارکد تنظیم کنید
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// ایجاد جریان حافظه و ذخیره تصویر بارکد در جریان حافظه
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// یک سند Word جدید ایجاد کنید
Document doc = new Document(dataDir + "sample.docx");

// ایجاد سازنده برای آبجکت سند
DocumentBuilder builder = new DocumentBuilder(doc);

// تصویر بارکد را در سند وارد کنید
builder.InsertImage(ms,
    RelativeHorizontalPosition.Margin,
    400,
    RelativeVerticalPosition.Margin,
    -50,
    100,
    100,
    WrapType.Square);

// سند word را ذخیره کنید
doc.Save(dataDir + "Sample_qr_out.docx");
کد QR را با استفاده از سی شارپ به سند Word اضافه کنید.

کد QR را با استفاده از سی شارپ به سند Word اضافه کنید.

خواندن بارکد از سند Word با استفاده از سی شارپ

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

  1. ابتدا یک سند Word موجود را با استفاده از کلاس Document بارگذاری کنید.
  2. سپس، با استفاده از روش GetChildNodes() به NodeCollection از انواع Shape دسترسی پیدا کنید.
  3. سپس، تمام اشکال را حلقه بزنید و بررسی کنید که آیا شکل یک تصویر است یا خیر.
  4. بعد، تصویر را در جریان ذخیره کنید.
  5. سپس، یک نمونه از کلاس BarCodeReader با جریان تصویر و DecodeType به عنوان آرگومان ایجاد کنید.
  6. پس از آن، متد ReadBarCodes() را فراخوانی کنید تا شی BarCodeResult را دریافت کنید.
  7. در نهایت اطلاعات بارکد را نشان دهید.

مثال کد زیر نحوه خواندن یک تصویر بارکد از یک سند Word را با استفاده از C# نشان می دهد.

// این مثال کد نحوه خواندن بارکد از یک سند Word را نشان می دهد.
// مسیر دایرکتوری اسناد
string dataDir = @"C:\Files\BarCode\";

// سند word را بارگیری کنید
Document wordDocument = new Document(dataDir + "sample_out.docx");

// تمام اشکال را دریافت کنید
NodeCollection shapes = wordDocument.GetChildNodes(NodeType.Shape, true);

// از طریق تمام اشکال حلقه بزنید
foreach (Shape shape in shapes)
{
  // بررسی کنید که آیا تصویر دارد
  if (shape.HasImage)
  {
    // تصویر را در جریان حافظه ذخیره کنید
    MemoryStream imgStream = new MemoryStream();
    shape.ImageData.Save(imgStream);

    // بارکد را از جریان تصویر بالا تشخیص دهید
    using (BarCodeReader reader = new BarCodeReader(new Bitmap(imgStream), DecodeType.Code39Standard))
    {
      foreach (BarCodeResult result in reader.ReadBarCodes())
      {
        Console.WriteLine("Codetext found: " + result.CodeText + ", Symbology: " + result.CodeType);
      }
    }
  }
}
Codetext found: 1234567890, Symbology: Code39Standard

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

شما می توانید یک مجوز موقت رایگان دریافت کنید تا کتابخانه را بدون محدودیت ارزیابی امتحان کنید.

نتیجه

در این مقاله یاد گرفتیم که چگونه:

  • ایجاد یک سند Word به صورت برنامه ریزی شده؛
  • یک تصویر بارکد ایجاد کنید و آن را به سند Word اضافه کنید.
  • یک کد QR ایجاد کنید و آن را در یک سند Word وارد کنید.
  • یک تصویر بارکد را از یک سند Word در سی شارپ بخوانید.

علاوه بر این، می‌توانید با استفاده از مستندات درباره Aspose.BarCode for .NET API اطلاعات بیشتری کسب کنید. در صورت وجود هرگونه ابهامی، لطفاً با ما در [تالار گفتمان27 تماس بگیرید.

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