PDF(Taşınabilir Belge Formatı), dijital belge dünyasında yaygın olarak kullanılan formatlardan biri haline geldi. Çeşitli endüstriler raporlarını, faturalarını, faturalarını ve diğer türdeki iş belgelerini oluşturmak için PDF formatını kullanıyor. Barkod ise makine tarafından okunabilir biçimde bilgi içeren işin önemli bir parçası haline geldi. Bugünlerde faturalarınızın ve faturalarınızın üzerinde bir barkod bile bulabilirsiniz. Bu makalede, örneğin bir fatura oluştururken bir PDF dosyası oluşturmanız ve üzerine barkod yerleştirmeniz gereken bir kullanım örneği sunacağım. Gösterim için, ASP.NET Core web uygulamasında C# kullanarak PDF dosyaları ve barkodlar oluşturabileceğiniz bir ASP.NET PDF Düzenleyici oluşturacağım.

Bu ASP.NET web uygulaması aşağıdaki özelliklere sahip olacaktır:

  • PDF belgesinin içeriğini yazmak için bir WYSIWYG editörü.
  • Sağlanan metne göre barkod oluşturma seçeneği.
  • Barkodun istenilen sembolojisini ayarlama seçeneği.

ASP.NET’te Barkodlu PDF’ler Oluşturmanın Önkoşulları

Barkod özelliklerine sahip ASP.NET PDF Düzenleyiciyi oluşturmak için ihtiyaç duyacağınız araçlar ve API’ler aşağıdadır.

Barkod Özellikleriyle ASP.NET PDF Düzenleyici Oluşturun

Yolculuğumuza başlayalım ve tek tıklamayla PDF oluşturmanıza ve barkod yerleştirmenize olanak tanıyan ASP.NET PDF Düzenleyicimizi nasıl oluşturacağımızı görelim.

  • Visual Studio’da yeni bir ASP.NET Core Web Uygulaması oluşturun.
ASP.NET Core web uygulaması oluşturun
  • Şablonlardan Web Uygulamasını (Model-Görünüm-Denetleyici) seçin.
ASP.NET MVC'si
  • Aspose.PDF, Aspose.BarCode ve CKEditor paketlerini yükleyin.
Aspose .NET PDF ve Barkod API'lerini ekleyin
  • CKEditor’un paketini indirin, çıkartın ve klasörü wwwroot dizinine kopyalayın/yapıştırın. İhtiyaçlarınıza göre favori WYSIWYG HTML editörlerinizden herhangi birini de entegre edebilirsiniz.

  • Aşağıdaki betiği Views/Home/index.cshtml görünümüne ekleyin.

@{
    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 dosyasına aşağıdaki yöntemleri ekleyin.
[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;
}
  • Uygulamayı oluşturun ve favori tarayıcınızda çalıştırın.
Barkod Özellikli ASP.NET PDF Düzenleyici

ASP.NET PDF Düzenleyici ile PDF oluşturma

Aşağıda, tek bir tıklamayla bir PDF dosyasının nasıl oluşturulacağı ve barkodun nasıl yerleştirileceğine ilişkin adımların yanı sıra gösterim yer almaktadır.

  • PDF belgesinin içeriğini düzenleyici alanına yazın veya kopyalayın/yapıştırın.
  • Barkodu oluşturmak için kod metnini ayarlayın.
  • İstediğiniz barkod sembolojisini seçin (tüm desteklenen barkod sembolojileri’e bakın).
  • Üzerinde barkod bulunan PDF oluşturmak için PDF Oluştur düğmesini tıklayın.

Kaynak Kodunu İndirin

Bu ASP.NET PDF Düzenleyicinin kaynak kodunun tamamını buradan adresinden indirebilirsiniz.

Aspose API’lerini Ücretsiz Deneyin

Geçici lisansınızı alın ve API’lerimizi bir ay boyunca ücretsiz deneyin.

Ayrıca bakınız