PDF محبوبترین قالب برای اشتراکگذاری و چاپ اسناد است. بسیاری از سازمان ها از PDF به عنوان یک فرمت استاندارد برای تولید گزارش ها و به اشتراک گذاری سایر اسناد رسمی استفاده می کنند. در موارد خاص، ممکن است لازم باشد داده ها یا اطلاعات خاصی در مورد سند، محصول یا شرکت به عنوان تصویر بارکد در اسناد PDF جاسازی کنیم. ما می توانیم یک تصویر بارکد قابل خواندن توسط ماشین را به صورت برنامه ریزی شده در برنامه های NET به سند PDF اضافه کنیم. در این مقاله نحوه افزودن بارکد به اسناد PDF با استفاده از سی شارپ را آموزش خواهیم داد.
مقاله باید موضوعات زیر را پوشش دهد:
- C# API برای افزودن بارکد به PDF
- سند PDF ایجاد کنید و بارکد اضافه کنید
- بارکد را به سند PDF موجود اضافه کنید
- کد QR را به اسناد PDF اضافه کنید
- بارکد را از سند PDF بخوانید
C# API برای افزودن بارکد به PDF
برای افزودن بارکد به اسناد PDF، ما از یک روش دو مرحله ای پیروی می کنیم. ابتدا از Aspose.PDF for .NET API برای ایجاد یا بارگذاری یک سند PDF استفاده می کنیم، سپس تصویر بارکد را با استفاده از [Aspose.BarCode for .NET] تولید و به PDF اضافه می کنیم. 3] API. لطفاً DLLهای APIها را دانلود یا با استفاده از NuGet نصب کنید.
PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.PDF
ایجاد سند PDF و اضافه کردن بارکد در سی شارپ
با دنبال کردن مراحل زیر می توانیم یک سند PDF جدید ایجاد کنیم و یک تصویر بارکد به PDF اضافه کنیم:
- ابتدا یک نمونه از کلاس BarcodeGenerator با EncodeType و متنی برای رمزگذاری به عنوان آرگومان ایجاد کنید.
- در مرحله بعد، یک نمونه از شی جریان حافظه ایجاد کنید
- سپس، روش Save() را فراخوانی کنید تا تصویر بارکد در جریان حافظه ذخیره شود.
- سپس یک نمونه از کلاس Document ایجاد کنید.
- سپس، یک صفحه را به سند PDF تازه ایجاد شده اضافه کنید.
- سپس یک نمونه از کلاس PdfFileMend ایجاد کنید.
- سپس، متد BindPdf() را با شی Document فراخوانی کنید تا به آن متصل شود.
- سپس، متد AddImage() را با مختصات شی جریان و موقعیت تصویر به عنوان آرگومان فراخوانی کنید.
- پس از آن، PDF را با استفاده از روش Save() ذخیره کنید. مسیر فایل PDF خروجی را به عنوان آرگومان می گیرد.
- در نهایت، متد Close() را برای بستن شی PdfFileMend فراخوانی کنید.
مثال کد زیر نحوه ایجاد یک سند PDF جدید و اضافه کردن یک تصویر بارکد با استفاده از C# را نشان می دهد.
// این مثال کد نحوه افزودن تصویر بارکد را به PDF نشان می دهد.
// مسیر دایرکتوری اسناد
string dataDir = @"D:\Files\BarCode\";
// شیء بارکد خطی را نمونهسازی کنید، متن کد و نوع نماد را برای بارکد تنظیم کنید
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");
// جریان حافظه ایجاد کنید و تصویر بارکد را در جریان حافظه ذخیره کنید
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// سند PDF ایجاد کنید و یک صفحه به سند اضافه کنید
Document doc = new Document();
doc.Pages.Add();
// سند را باز کنید
PdfFileMend mender = new PdfFileMend();
// PDF را برای اضافه کردن بارکد متصل کنید
mender.BindPdf(doc);
// اضافه کردن تصویر بارکد در فایل PDF
mender.AddImage(ms, 1, 100, 600, 200, 700);
// ذخیره تغییرات
mender.Save(dataDir + "AddImage_out.pdf");
// شیء PdfFileMend را ببندید
mender.Close();
اضافه کردن بارکد به سند PDF موجود در سی شارپ
ما همچنین می توانیم یک تصویر بارکد را به هر صفحه از اسناد PDF موجود اضافه کنیم. متد AddImage() اجازه می دهد تا یک تصویر به صفحه مشخص شده سند PDF با مختصات مشخص شده اضافه کنید. با دنبال کردن مراحل زیر می توانیم یک تصویر را در یک سند PDF موجود وارد کنیم:
- ابتدا، یک نمونه از کلاس BarcodeGenerator با EncodeType و متنی برای کدگذاری به عنوان آرگومان ایجاد کنید.
- در مرحله بعد، یک نمونه از شی جریان حافظه ایجاد کنید
- سپس، روش Save() را فراخوانی کنید تا تصویر بارکد در جریان حافظه ذخیره شود.
- سپس، سند PDF را با استفاده از کلاس Document بارگیری کنید.
- سپس، یک نمونه از کلاس PdfFileMend ایجاد کنید.
- سپس، متد BindPdf() را با شی Document فراخوانی کنید تا به آن متصل شود.
- سپس، متد AddImage() را با مختصات شی جریان، شماره صفحه و موقعیت تصویر به عنوان آرگومان فراخوانی کنید.
- پس از آن، PDF را با استفاده از روش Save() ذخیره کنید. مسیر فایل PDF خروجی را به عنوان آرگومان می گیرد.
- در نهایت، متد Close() را برای بستن شی PdfFileMend فراخوانی کنید.
مثال کد زیر نحوه اضافه کردن یک تصویر بارکد را با استفاده از C# به یک سند PDF موجود نشان می دهد.
// این مثال کد نحوه افزودن تصویر بارکد را به PDF موجود نشان می دهد.
// مسیر دایرکتوری اسناد
string dataDir = @"D:\Files\BarCode\";
// شیء بارکد خطی را نمونهسازی کنید، متن کد و نوع نماد را برای بارکد تنظیم کنید
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");
// جریان حافظه ایجاد کنید و تصویر بارکد را در جریان حافظه ذخیره کنید
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// یک سند PDF را بارگیری کنید
Document doc = new Document(dataDir + "sample.pdf");
// سند را باز کنید
PdfFileMend mender = new PdfFileMend();
// برای افزودن تصویر بارکد PDF را متصل کنید
mender.BindPdf(doc);
// اضافه کردن تصویر بارکد در فایل PDF
mender.AddImage(ms, 1, 70, 0, 200, 600);
// ذخیره تغییرات
mender.Save(dataDir + "Sample_out.pdf");
// شیء PdfFileMend را ببندید
mender.Close();
افزودن کد QR به اسناد PDF در سی شارپ
به همین ترتیب، میتوانیم با دنبال کردن مراحلی که قبلاً ذکر شد، یک کد QR به اسناد PDF اضافه کنیم. با این حال، ما فقط باید EncodeType را به عنوان QR در مرحله اول تنظیم کنیم. همچنین ممکن است لازم باشد موقعیت تصویر را در مرحله 7 تنظیم کنیم.
مثال کد زیر نحوه افزودن یک کد QR به یک سند PDF را با استفاده از C# نشان می دهد.
// این مثال کد نحوه افزودن کد QR را به PDF موجود نشان می دهد.
// مسیر دایرکتوری اسناد
string dataDir = @"D:\Files\BarCode\";
// شیء بارکد خطی را نمونهسازی کنید، متن کد و نوع نماد را برای بارکد تنظیم کنید
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");
// جریان حافظه ایجاد کنید و تصویر بارکد را در جریان حافظه ذخیره کنید
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// یک سند PDF را بارگیری کنید
Document doc = new Document(dataDir + "sample.pdf");
// سند را باز کنید
PdfFileMend mender = new PdfFileMend();
// برای افزودن تصویر بارکد PDF را متصل کنید
mender.BindPdf(doc);
// تصویر QR را در فایل PDF اضافه کنید
mender.AddImage(ms, 1, 0, 650, 200, 780);
// ذخیره تغییرات
mender.Save(dataDir + "Sample_QR_out.pdf");
// شیء PdfFileMend را ببندید
mender.Close();
خواندن بارکد از سند PDF با استفاده از سی شارپ
با استفاده از کلاس PdfExtractor میتوانیم هر تصویر بارکدی را که در هر یک از صفحات سند PDF تعبیه شده است، تشخیص دهیم. این امکان استخراج تصاویر از PDF را فراهم می کند و سپس اطلاعات بارکد را از تصویر استخراج شده می خوانیم. با دنبال کردن مراحل زیر می توانیم بارکدها را از اسناد PDF بخوانیم:
- ابتدا یک نمونه از کلاس PdfExtractor ایجاد کنید.
- سپس، سند PDF ورودی را با استفاده از روش BindPdf() متصل کنید.
- سپس، محدوده صفحه را برای استخراج تصویر تنظیم کنید.
- سپس، متد ExtractImage() را برای استخراج تصاویر فراخوانی کنید.
- سپس، تصویر را برای پخش در یک حلقه ذخیره کنید.
- سپس، یک نمونه از کلاس BarCodeReader با جریان تصویر و DecodeType به عنوان آرگومان ایجاد کنید.
- پس از آن، متد ReadBarCodes() را فراخوانی کنید تا شی BarCodeResult را دریافت کنید.
- در نهایت اطلاعات بارکد را نشان دهید.
مثال کد زیر نحوه خواندن یک تصویر بارکد از یک سند PDF را با استفاده از C# نشان می دهد.
// این مثال کد نحوه خواندن بارکد را از PDF نشان می دهد
// مسیر دایرکتوری اسناد
string dataDir = @"D:\Files\BarCode\sample_out.pdf";
// سند pdf را صحافی کنید
Aspose.Pdf.Facades.PdfExtractor pdfExtractor = new Aspose.Pdf.Facades.PdfExtractor();
pdfExtractor.BindPdf(dataDir);
// محدوده صفحه را برای استخراج تصویر تنظیم کنید
pdfExtractor.StartPage = 1;
pdfExtractor.EndPage = 1;
// تصاویر را استخراج کنید
pdfExtractor.ExtractImage();
// تصاویر را برای پخش در یک حلقه ذخیره کنید
while (pdfExtractor.HasNextImage())
{
// ذخیره تصویر برای پخش جریانی
MemoryStream imageStream = new MemoryStream();
pdfExtractor.GetNextImage(imageStream);
imageStream.Position = 0;
// بارکد را از جریان تصویر بالا تشخیص دهید
using (BarCodeReader reader = new BarCodeReader(imageStream, DecodeType.Code39Standard))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine("Codetext found: " + result.CodeText);
Console.WriteLine("Symbology: " + result.CodeType);
}
}
}
Codetext found: 1234567
Symbology: Code39Standard
مجوز رایگان دریافت کنید
شما می توانید یک مجوز موقت رایگان دریافت کنید تا کتابخانه را بدون محدودیت ارزیابی امتحان کنید.
نتیجه
در این مقاله یاد گرفتیم که چگونه:
- ایجاد یک سند PDF به صورت برنامه ریزی شده؛
- ایجاد و اضافه کردن یک تصویر بارکد به PDF در سی شارپ.
- استخراج تصاویر از یک سند PDF با استفاده از سی شارپ.
- خواندن تصویر بارکد از یک سند PDF.
علاوه بر این، میتوانید با استفاده از مستندات درباره Aspose.BarCode for .NET API اطلاعات بیشتری کسب کنید. در صورت وجود هرگونه ابهام، لطفاً با ما در تالار گفتمان تماس بگیرید.