أصبح PDF (تنسيق المستند المحمول) أحد التنسيقات المستخدمة على نطاق واسع في عالم المستندات الرقمية. تستخدم العديد من الصناعات تنسيق PDF لإنشاء تقاريرها وفواتيرها وفواتيرها وأنواع أخرى من مستندات الأعمال. من ناحية أخرى ، أصبح الرمز الشريطي جزءًا أساسيًا من العمل الذي يحتوي على معلومات في نموذج يمكن قراءته آليًا. في هذه الأيام ، قد تجد حتى رمزًا شريطيًا في فواتيرك وفواتيرك. في هذه المقالة ، سأقدم حالة استخدام حيث تحتاج إلى إنشاء ملف PDF وتضمين رمز شريطي عليه ، على سبيل المثال ، عند إنشاء فاتورة. بالنسبة إلى العرض التوضيحي ، سوف أقوم بإنشاء محرر ASP.NET PDF والذي ستتمكن باستخدامه من إنشاء ملفات PDF والرموز الشريطية باستخدام C # داخل تطبيق الويب ASP.NET Core.

سيحتوي تطبيق الويب ASP.NET على الميزات التالية:

  • محرر WYSIWYG لكتابة محتوى مستند PDF.
  • خيار لإنشاء رمز شريطي بناءً على النص المقدم.
  • خيار لضبط الترميز المطلوب للباركود.

المتطلبات الأساسية لإنشاء ملفات PDF ذات باركود في ASP.NET

فيما يلي الأدوات وواجهات برمجة التطبيقات التي قد تحتاجها لإنشاء ASP.NET PDF Editor الذي يحتوي على ميزات الباركود.

إنشاء محرر ASP.NET PDF مع ميزات الباركود

لنبدأ رحلتنا ونرى كيفية إنشاء محرر ASP.NET PDF الخاص بنا والذي سيسمح بإنشاء PDF وتضمين الرمز الشريطي بنقرة واحدة.

  • قم بإنشاء تطبيق ويب ASP.NET Core جديد في Visual Studio.
قم بإنشاء تطبيق ويب ASP.NET Core
  • حدد تطبيق الويب (Model-View-Controller) من القوالب.
ASP.NET MVC
  • قم بتثبيت حزم Aspose.PDF و Aspose.BarCode و CKEditor.
إضافة Aspose .NET PDF وواجهات برمجة تطبيقات الباركود
  • قم بتنزيل الحزمة الخاص بـ CKEditor ، واستخرجها ، ثم انسخ / الصق المجلد في دليل wwwroot. يمكنك أيضًا دمج أي من محررات WYSIWYG HTML المفضلة لديك بناءً على متطلباتك.

  • أضف البرنامج النصي التالي في طريقة العرض Views / Home / index.cshtml.

@{
    ViewData["Title"] = "PDF Creator";
}
<script src="~/ckeditor/ckeditor.js"></script>
<br />
<form method="post">
    <div class="row">
        <div class="col-md-12">
            <textarea name="editor1" id="editor1" rows="80" cols="80">
                Start creating your PDF document.
            </textarea>
            <br />
            <script>
                // Replace the <textarea id="editor1"> with a CKEditor
                // instance, using default configuration.
                CKEDITOR.replace('editor1');
            </script>
        </div>
        <hr />
    </div>
    <div class="row">
        <div class="col-md-12">
            <h3>Create a Barcode</h3>
        </div>
    </div>
    <hr />
    <div class="row">
        <div class="col-md-9 form-horizontal" align="center">
            <div class="form-group">
                <label class="control-label col-sm-2" for="CodeText">Code Text</label>
                <div class="col-sm-10">
                    <input class="form-control" type="text" name="codeText" id="codeText" placeholder="Code text" />
                </div>
            </div>
            <div class="form-group">
                <label class="control-label col-sm-2" for="barcodeType">Symbology</label>
                <div class="col-sm-10">
                    <select name="barcodeType" class="form-control">
                        <option value="Code128">Code128</option>
                        <option value="Code11">Code11</option>
                        <option value="QR">QR</option>
                        <option value="Pdf417">Pdf417</option>
                        <option value="Datamatrix">Datamatrix</option>
                    </select>
                </div>
            </div>
        </div>
    </div>
    <hr />
    <div class="row">
        <div class="col-md-12" align="center">
            <input type="submit" class="btn btn-lg btn-success" value="Generate PDF" />
        </div>
    </div>
</form>
  • أضف الطرق التالية في Controllers / HomeController.cs.
[HttpPost]
public FileResult Index(string editor1, string codeText, string barcodeType)
{
	// generate a barcode
	string barcodeImagePath = Path.Combine("wwwroot/barcodes/", Guid.NewGuid() + ".png");
	SymbologyEncodeType type = GetBarcodeSymbology(barcodeType);
	BarcodeGenerator generator = new BarcodeGenerator(type, codeText);
	generator.Parameters.BackColor = System.Drawing.Color.Transparent;
	// set resolution of the barcode image
	generator.Parameters.Resolution = 200;
	// generate barcode
	generator.Save(barcodeImagePath, BarCodeImageFormat.Png);

	// create a unique file name for PDF
	string fileName = Guid.NewGuid() + ".pdf";
	// convert HTML text to stream
	byte[] byteArray = Encoding.UTF8.GetBytes(editor1);
	// generate PDF from the HTML
	MemoryStream stream = new MemoryStream(byteArray);
	HtmlLoadOptions options = new HtmlLoadOptions();
	Document pdfDocument = new Document(stream, options);

	// add barcode image to the generated PDF 
	pdfDocument = InsertImage(pdfDocument, barcodeImagePath);

	// create memory stream for the PDF file
	Stream outputStream = new MemoryStream();
	// save PDF to output stream
	pdfDocument.Save(outputStream);

	// return generated PDF file
	return File(outputStream, System.Net.Mime.MediaTypeNames.Application.Pdf, fileName);
}
private SymbologyEncodeType GetBarcodeSymbology(string symbology)
{
	if (symbology.ToLower() == "qr")
		return EncodeTypes.QR;
	else if (symbology.ToLower() == "code128")
		return EncodeTypes.Code128;
	else if (symbology.ToLower() == "code11")
		return EncodeTypes.Code11;
	else if (symbology.ToLower() == "pdf417")
		return EncodeTypes.Pdf417;
	else if (symbology.ToLower() == "datamatrix")
		return EncodeTypes.DataMatrix;
	else
		return EncodeTypes.Code128; // default barcode type
}
private Document InsertImage(Document document, string barcodeImagePath)
{
	// get page from Pages collection of PDF file
	Aspose.Pdf.Page page = document.Pages[1];
	// create an image instance
	Aspose.Pdf.Image img = new Aspose.Pdf.Image();
	img.IsInLineParagraph = true;
	// set Image Width and Height in Points
	img.FixWidth = 100;
	img.FixHeight = 100;
	img.HorizontalAlignment = HorizontalAlignment.Right;
	img.VerticalAlignment = VerticalAlignment.Top;
	// set image type as SVG
	img.FileType = Aspose.Pdf.ImageFileType.Unknown;
	// path for source barcode image file
	img.File = barcodeImagePath;
	page.Paragraphs.Add(img);
	// return updated PDF document
	return document;
}
  • قم ببناء التطبيق وتشغيله في متصفحك المفضل.
محرر ASP.NET PDF مع ميزات الباركود

إنشاء ملف PDF باستخدام محرر ASP.NET PDF

فيما يلي الخطوات بالإضافة إلى عرض توضيحي لكيفية إنشاء ملف PDF وتضمين رمز شريطي بنقرة واحدة.

  • اكتب أو انسخ / الصق محتوى مستند PDF في منطقة المحرر.
  • قم بتعيين نص الرمز لإنشاء الرمز الشريطي.
  • حدد ترميز الرمز الشريطي الذي تريده (راجع جميع رموز الرموز الشريطية المدعومة).
  • انقر فوق الزر إنشاء PDF لإنشاء ملف PDF به رمز شريطي.

تحميل شفرة المصدر

يمكنك تنزيل الكود المصدري الكامل لمحرر ASP.NET PDF من هنا.

جرب Aspose APIs مجانًا

احصل على ترخيص مؤقت وجرب واجهات برمجة التطبيقات الخاصة بنا مجانًا لمدة شهر واحد.

أنظر أيضا