فرمت PDF(فرمت سند قابل حمل) به یکی از فرمتهای پر استفاده در دنیای مستندات دیجیتال تبدیل شده است. صنایع مختلف از فرمت PDF برای تولید گزارشها، فاکتورها، صورتحسابها و سایر انواع مستندات تجاری استفاده میکنند. از سوی دیگر، بارکد به بخشی اساسی از کسب و کار تبدیل شده است که اطلاعات را به شکل قابل خواندن توسط ماشین در بر دارد. این روزها، حتی ممکن است بارکدی را بر روی صورتحسابها و فاکتورهایتان پیدا کنید. در این مقاله، من یک مورد استفاده را ارائه میدهم که در آن نیاز دارید یک فایل PDF ایجاد کنید و یک بارکد بر روی آن درج کنید، به عنوان مثال، هنگام تولید یک فاکتور. برای نمایش، من یک ویرایشگر PDF ASP.NET ایجاد خواهم کرد که با استفاده از آن میتوانید فایلهای PDF و بارکدها را با استفاده از C# در یک برنامه وب ASP.NET Core تولید کنید.
این برنامه وب ASP.NET دارای ویژگیهای زیر خواهد بود:
- ویرایشگر WYSIWYG برای نوشتن محتوای سند PDF.
- گزینهای برای ایجاد بارکد بر اساس متن ارائه شده.
- گزینهای برای تنظیم نمادشناسی مورد نظر بارکد.
Prerequisites for Generating PDFs having Barcode in ASP.NET
ابزارها و API های زیر برای ایجاد ویرایشگر PDF ASP.NET با ویژگیهای بارکد مورد نیاز است.
- ویژوال استودیو ۲۰۱۷ یا بعد از آن.
- Aspose.PDF برای .NET – A .NET PDF API.
- Aspose.BarCode for .NET – .NET Barcode Generator and Scanner API.
ایجاد ویرایشگر PDF ASP.NET با ویژگیهای بارکد
ما بیایید سفر خود را آغاز کنیم و ببینیم چگونه میتوانیم ویرایشگر PDF ASP.NET خود را ایجاد کنیم که به ما اجازه میدهد با یک کلیک PDF تولید کرده و بارکد را وارد کنیم.
- یک برنامه وب جدید ASP.NET Core در ویژوال استودیو ایجاد کنید.

- از الگوها، برنامه وب (مدل-نمای-کنترلر) را انتخاب کنید.

- نصب پکیجهای Aspose.PDF، Aspose.BarCode و CKEditor.

Download the CKEditor`s package, extract it, and copy/paste the folder in wwwroot directory. You can also integrate any of your favorite WYSIWYG HTML editors based on your requirement.
اسکریپت زیر را به نمای 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>
- Add the following methods in 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;
}
- نرمافزار را بسازید و آن را در مرورگر مورد علاقهتان اجرا کنید.

تولید یک PDF با ویرایشگر PDF ASP.NET
مراحل زیر و همچنین نمایش نحوه ایجاد یک فایل PDF و قرار دادن برچسب بارکد با یک کلیک ارائه شده است.
- Write or copy/paste the content of the PDF document in the editor area.
- Set the code text to generate the barcode.
- بارکد سمبولوجی مورد نظر خود را انتخاب کنید (به تمام سمبولوجی های بارکد پشتیبانی شده مراجعه کنید).
- روی دکمه تولید PDF کلیک کنید تا PDF دارای بارکد ایجاد شود.
کد منبع را دانلود کنید
شما میتوانید کد منبع کامل این ویرایشگر PDF ASP.NET را از اینجا دانلود کنید.
Try Aspose APIs for Free
گواهینامه موقت خود را بگیرید و برای یک ماه به صورت رایگان از API های ما استفاده کنید.