IronBarcode Kullanarak PDF Belgelerine Barkodlar Nasıl Oluşturulur ve Damgalanır

PDF'lere C# Kullanarak Barkod Nasıl Damgalanır?

This article was translated from English: Does it need improvement?
Translated
View the article in English

C# ile IronBarcode'un CreateBarcode metodunu kullanarak, tek sayfalar için StampToExistingPdfPage veya birden fazla sayfa için StampToExistingPdfPages ile, koordinatları ve sayfa numaralarını belirterek var olan PDF belgelerine barkod basın.

Hızlı Başlangıç: Bir GeneratedBarcode'u PDF Sayfasına Damgala

Bu örnek, IronBarCode'un CreateBarcode fonksiyonunu kullanarak bir barkod oluşturmayı ve bunu mevcut bir PDF sayfasına basmayı göstermektedir. PDF yolu, pozisyon koordinatları ve sayfa numarası belirtin.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/BarCode yükleyin

    PM > Install-Package BarCode
  2. Bu kod parçasını kopyalayıp çalıştırın.

    IronBarCode.BarcodeWriter.CreateBarcode("https://my.site", IronBarCode.BarcodeEncoding.QRCode, 150, 150)
        .StampToExistingPdfPage("report.pdf", x: 50, y: 50, pageNumber: 1);
  3. Canlı ortamınızda test etmek için dağıtın

    Bugün projenizde IronBarcode kullanmaya başlayın ücretsiz deneme ile

    arrow pointer

Mevcut PDF Sayfasına Barkodu Nasıl Damgalarım?

Barkodları PDF olarak dışa aktarmanın yanı sıra IronBarcode, GeneratedBarcode nesnesini doğrudan mevcut PDF belgelerine damgalamayı da destekler. Bu özellik, mevcut rapor, fatura veya formlara izleme kodları, envanter etiketleri veya belge tanımlayıcıları eklerken kullanışlıdır. Aşağıdaki kod parçacığı bu işlemi gösterir.

:path=/static-assets/barcode/content-code-examples/how-to/StampBarcodeOnExistingPdfPage.cs
using IronBarCode;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128, 200, 100);
myBarcode.StampToExistingPdfPage("pdf_file_path.pdf", x: 200, y: 100, 3, "password");
Imports IronBarCode

Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128, 200, 100)
myBarcode.StampToExistingPdfPage("pdf_file_path.pdf", x:= 200, y:= 100, 3, "password")
$vbLabelText   $csharpLabel

StampToExistingPdfPage Hangi Parametreleri Gerektirir?

Kod parçacığı, nesneyi PDF belgesine damgalamak için GeneratedBarcode nesnesiyle birlikte StampToExistingPdfPage() metodunu çağırır. Bu yöntem, basitliği korurken esneklik sağlar. Aşağıda yöntem parametreleri verilmiştir:

  • pdfFilePath: PDF belge yolunu (göreceli veya mutlak) temsil eden bir System.String.
  • x: Sol kenardan piksel cinsinden yatay pozisyon için bir System.Int32.
  • y: Alt kenardan piksel cinsinden dikey pozisyon için bir System.Int32.
  • pageNumber: Sayfayı belirten bir System.Int32 (1-indexed, ilk sayfa 1'dir).
  • password: Şifre korumalı PDF'ler için bir System.String (isteğe bağlı).

StampToExistingPdfPage Ne Zaman Kullanılmalı?

Kod parçacığını çalıştırmak, GeneratedBarcode öğesini ara kaydetme olmadan doğrudan PDF belgesine damgalar. Bu yöntem, aşağıdaki durumlar için uygundur:

  • Nakliye etiketleri veya teslimat belgeleri üzerinde benzersiz izleme kodları
  • Üretim raporları üzerinde grup numaraları
  • Yasal veya düzenleyici formlar üzerinde belge kontrol numaraları
  • Dijital kimlik doğrulama veya hızlı erişim bağlantıları için QR kodları

Doğrudan damgalama yaklaşımı, işlem süresinden tasarruf sağlar ve geçici dosyaları ortadan kaldırır. Farklı barkod türleri hakkında bilgi için desteklenen barkod formatları kılavuzuna bakın.

Birden Fazla PDF Sayfasına Barkodu Nasıl Damgalarım?

Bazen aynı barkodun birden fazla sayfaya damgalanması gerekir. Yaygın kullanımlar, çok sayfalı raporların her sayfasına belge tanımlayıcılarını uygulamak, teknik belgeler boyunca sürüm kontrol kodları eklemek veya gizli materyallerin her sayfasına güvenlik barkodları eklemektir. Tek sayfa metodunu döngülemek yerine, StampToExistingPdfPages() sınıfından GeneratedBarcode metodunu kullanın. Aşağıdaki kod parçacığı bu yöntemi gösterir.

:path=/static-assets/barcode/content-code-examples/how-to/StampBarcodeOnMultiplePdfPages.cs
using IronBarCode;
using System.Collections.Generic;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128, 200, 100);
List<int> pages = new List<int>();
pages.Add(1);
pages.Add(2);
pages.Add(3);
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, pages, "password");
Imports IronBarCode
Imports System.Collections.Generic

Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128, 200, 100)
Private pages As New List(Of Integer)()
pages.Add(1)
pages.Add(2)
pages.Add(3)
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x:= 200, y:= 100, pages, "password")
$vbLabelText   $csharpLabel

Esneklik için, sayfa aralıklarını dinamik olarak oluşturmak için LINQ kullanın:

// Stamp on all even pages from 2 to 10
var evenPages = Enumerable.Range(1, 10).Where(x => x % 2 == 0).ToList();
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, evenPages, "password");

// Stamp on the first and last 3 pages of a 20-page document
var selectedPages = new List<int> { 1, 2, 3, 18, 19, 20 };
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, selectedPages, "password");
// Stamp on all even pages from 2 to 10
var evenPages = Enumerable.Range(1, 10).Where(x => x % 2 == 0).ToList();
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, evenPages, "password");

// Stamp on the first and last 3 pages of a 20-page document
var selectedPages = new List<int> { 1, 2, 3, 18, 19, 20 };
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, selectedPages, "password");
Imports System.Linq

' Stamp on all even pages from 2 to 10
Dim evenPages = Enumerable.Range(1, 10).Where(Function(x) x Mod 2 = 0).ToList()
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x:=200, y:=100, evenPages, "password")

' Stamp on the first and last 3 pages of a 20-page document
Dim selectedPages = New List(Of Integer) From {1, 2, 3, 18, 19, 20}
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x:=200, y:=100, selectedPages, "password")
$vbLabelText   $csharpLabel

StampToExistingPdfPages Hangi Parametreleri Kabul Eder?

Aşağıda yöntem parametreleri verilmiştir:

  • pdfFilePath: PDF belge yolunu temsil eden bir System.String.
  • x: Piksel cinsinden yatay pozisyon için bir System.Int32.
  • y: Piksel cinsinden dikey pozisyon için bir System.Int32.
  • pageNumbers: Damgalanacak sayfaların (1-indexed) bir IEnumerable.
  • password: Şifre korumalı PDF'ler için bir System.String (isteğe bağlı).

StampToExistingPdfPages'i Döngüleme Yerine Neden Kullanmalı?

Bu yöntem, kod okunabilirliğini ve performansını artırarak çok sayfalı etkin barkod damgalaması sağlar. Dahili uygulama, PDF işlemeyi optimize eder ve şunları sağlar:

  • Daha hızlı yürütme: PDF bir kez açılıp işlenir, birden fazla kere değil
  • Daha düşük bellek kullanımı: Büyük PDF'ler için etkin kaynak yönetimi
  • Daha temiz kod: Manuel döngü ve hata yönetimi gerekmez
  • Atomik işlemler: Tüm sayfalar tek bir işlemde damgalanır

Gelişmiş Damgalama Teknikleri

Damgalamadan Önce Barkod Görünümünü Özelleştirme

Barkodunuzu bir PDF üzerine damgalamadan önce görünümünü özelleştirin. IronBarcode kapsamlı özelleştirme seçenekleri sunar:

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("INVOICE-2024-001", BarcodeEncoding.Code128, 250, 80);

// Customize the appearance
myBarcode.AddAnnotationTextAboveBarcode("Invoice Number");
myBarcode.AddAnnotationTextBelowBarcode("Scan for digital copy");
myBarcode.SetMargins(10);
myBarcode.ChangeBarcodeForegroundColor(System.Drawing.Color.DarkBlue);

// Now stamp the customized barcode
myBarcode.StampToExistingPdfPage("invoice.pdf", x: 450, y: 700, pageNumber: 1);
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("INVOICE-2024-001", BarcodeEncoding.Code128, 250, 80);

// Customize the appearance
myBarcode.AddAnnotationTextAboveBarcode("Invoice Number");
myBarcode.AddAnnotationTextBelowBarcode("Scan for digital copy");
myBarcode.SetMargins(10);
myBarcode.ChangeBarcodeForegroundColor(System.Drawing.Color.DarkBlue);

// Now stamp the customized barcode
myBarcode.StampToExistingPdfPage("invoice.pdf", x: 450, y: 700, pageNumber: 1);
Dim myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("INVOICE-2024-001", BarcodeEncoding.Code128, 250, 80)

' Customize the appearance
myBarcode.AddAnnotationTextAboveBarcode("Invoice Number")
myBarcode.AddAnnotationTextBelowBarcode("Scan for digital copy")
myBarcode.SetMargins(10)
myBarcode.ChangeBarcodeForegroundColor(System.Drawing.Color.DarkBlue)

' Now stamp the customized barcode
myBarcode.StampToExistingPdfPage("invoice.pdf", x:=450, y:=700, pageNumber:=1)
$vbLabelText   $csharpLabel

Farklı Barkod Türlerini Kullanma

Farklı senaryolar farklı barkod türleri gerektirir. QR kodları URL'ler ve büyük veri setleri için uygunken, Code128 alfanümerik tanımlayıcılar için çalışır. QR kod oluşturma hakkında daha fazla bilgi edinin veya diğer formatları keşfedin:

// QR Code for contact information
var qrCode = BarcodeWriter.CreateBarcode("BEGIN:VCARD\nFN:John Doe\nTEL:555-1234\nEND:VCARD", 
    BarcodeEncoding.QRCode, 150, 150);
qrCode.StampToExistingPdfPage("businesscard.pdf", x: 400, y: 50, pageNumber: 1);

// Data Matrix for product tracking
var dataMatrix = BarcodeWriter.CreateBarcode("PROD-2024-BATCH-789", 
    BarcodeEncoding.DataMatrix, 100, 100);
dataMatrix.StampToExistingPdfPage("product_sheet.pdf", x: 50, y: 750, pageNumber: 1);
// QR Code for contact information
var qrCode = BarcodeWriter.CreateBarcode("BEGIN:VCARD\nFN:John Doe\nTEL:555-1234\nEND:VCARD", 
    BarcodeEncoding.QRCode, 150, 150);
qrCode.StampToExistingPdfPage("businesscard.pdf", x: 400, y: 50, pageNumber: 1);

// Data Matrix for product tracking
var dataMatrix = BarcodeWriter.CreateBarcode("PROD-2024-BATCH-789", 
    BarcodeEncoding.DataMatrix, 100, 100);
dataMatrix.StampToExistingPdfPage("product_sheet.pdf", x: 50, y: 750, pageNumber: 1);
' QR Code for contact information
Dim qrCode = BarcodeWriter.CreateBarcode("BEGIN:VCARD" & vbLf & "FN:John Doe" & vbLf & "TEL:555-1234" & vbLf & "END:VCARD", 
    BarcodeEncoding.QRCode, 150, 150)
qrCode.StampToExistingPdfPage("businesscard.pdf", x:=400, y:=50, pageNumber:=1)

' Data Matrix for product tracking
Dim dataMatrix = BarcodeWriter.CreateBarcode("PROD-2024-BATCH-789", 
    BarcodeEncoding.DataMatrix, 100, 100)
dataMatrix.StampToExistingPdfPage("product_sheet.pdf", x:=50, y:=750, pageNumber:=1)
$vbLabelText   $csharpLabel

Hata Yönetimi ve En İyi Uygulamalar

PDF damgalama işlemleri çalışırken uygun hata yönetimini uygulayın:

try
{
    GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("DOCUMENT-ID-12345", 
        BarcodeEncoding.Code128, 200, 60);

    // Verify the PDF exists before attempting to stamp
    if (File.Exists("target.pdf"))
    {
        myBarcode.StampToExistingPdfPage("target.pdf", x: 100, y: 100, pageNumber: 1);
        Console.WriteLine("Barcode stamped successfully!");
    }
    else
    {
        Console.WriteLine("PDF file not found!");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Error stamping barcode: {ex.Message}");
    // Log the error or handle it appropriately
}
try
{
    GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("DOCUMENT-ID-12345", 
        BarcodeEncoding.Code128, 200, 60);

    // Verify the PDF exists before attempting to stamp
    if (File.Exists("target.pdf"))
    {
        myBarcode.StampToExistingPdfPage("target.pdf", x: 100, y: 100, pageNumber: 1);
        Console.WriteLine("Barcode stamped successfully!");
    }
    else
    {
        Console.WriteLine("PDF file not found!");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Error stamping barcode: {ex.Message}");
    // Log the error or handle it appropriately
}
Imports System
Imports System.IO

Try
    Dim myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("DOCUMENT-ID-12345", BarcodeEncoding.Code128, 200, 60)

    ' Verify the PDF exists before attempting to stamp
    If File.Exists("target.pdf") Then
        myBarcode.StampToExistingPdfPage("target.pdf", x:=100, y:=100, pageNumber:=1)
        Console.WriteLine("Barcode stamped successfully!")
    Else
        Console.WriteLine("PDF file not found!")
    End If
Catch ex As Exception
    Console.WriteLine($"Error stamping barcode: {ex.Message}")
    ' Log the error or handle it appropriately
End Try
$vbLabelText   $csharpLabel

Performans Dikkatleri

Büyük PDF'lerle veya birden fazla damgalama işlemi yaparken, aşağıdaki ipuçlarını göz önünde bulundurun:

  1. Toplu İşlemler: StampToExistingPdfPage() döngüsü yerine StampToExistingPdfPages() kullanın
  2. Barkod Önbelleğe Alma: Bir kez oluşturun ve GeneratedBarcode nesnesini yeniden kullanın
  3. Koordinat Hesaplama: Tutarlı pozisyon koordinatlarını önceden hesaplayın
  4. Bellek Yönetimi: Çok büyük PDF'leri gruplar halinde işleyin

Damgalama sonrasında PDF'lerden barkod okumayı içeren gelişmiş senaryolar için PDF belgelerinden barkod okuma kılavuzumuza bakın.

Diğer IronBarcode Özellikleri ile Entegrasyon

PDF damgalama işlevselliği, diğer IronBarcode özellikleriyle sorunsuz çalışır. Daha iyi web uygulaması performansı için asenkron işleme ile birleştirin:

// Asynchronous PDF stamping
public async Task StampBarcodeAsync(string pdfPath, string barcodeData)
{
    await Task.Run(() =>
    {
        var barcode = BarcodeWriter.CreateBarcode(barcodeData, BarcodeEncoding.QRCode, 200, 200);
        barcode.StampToExistingPdfPage(pdfPath, x: 100, y: 100, pageNumber: 1);
    });
}
// Asynchronous PDF stamping
public async Task StampBarcodeAsync(string pdfPath, string barcodeData)
{
    await Task.Run(() =>
    {
        var barcode = BarcodeWriter.CreateBarcode(barcodeData, BarcodeEncoding.QRCode, 200, 200);
        barcode.StampToExistingPdfPage(pdfPath, x: 100, y: 100, pageNumber: 1);
    });
}
Imports System.Threading.Tasks

' Asynchronous PDF stamping
Public Async Function StampBarcodeAsync(pdfPath As String, barcodeData As String) As Task
    Await Task.Run(Sub()
                       Dim barcode = BarcodeWriter.CreateBarcode(barcodeData, BarcodeEncoding.QRCode, 200, 200)
                       barcode.StampToExistingPdfPage(pdfPath, x:=100, y:=100, pageNumber:=1)
                   End Sub)
End Function
$vbLabelText   $csharpLabel

Ayrıca, barkod damgalamadan önce veya sonra iyileştirme gerekebilecek taranmış PDF'lerle çalışırken IronBarcode'un görüntü düzeltme özelliklerinden yararlanın.

Yaygın Sorun Giderme

PDF'lere barkodlar basarken sorunlarla karşılaşırsanız, işte çözümler:

  1. Koordinat Sorunları: PDF koordinatları sol üst köşeden değil, alt sol köşeden başlamaktadır
  2. Şifre Korumalı PDF'ler: Şifreli PDF'ler için doğru şifre parametresini sağladığınızdan emin olun
  3. Büyük Dosya Boyutları: Optimizasyon ve yönetim ipuçları için sorun giderme kılavuzumuza bakın
  4. Yazı Tipi veya Kodlama Sorunları: Özel karakterler veya Unicode için Unicode barkod yazma kılavuzumuza bakın

Bu yönergeleri takip ederek ve IronBarcode'un PDF damgalama yeteneklerini kullanarak mevcut PDF belgelerine etkin bir şekilde barkod ekleyebilir ve performans ile kod kalitesini koruyabilirsiniz.

Sıkça Sorulan Sorular

Mevcut bir PDF belgesine C#'de barkod nasil eklerim?

Bir barkod oluşturmak için IronBarcode'un CreateBarcode metodunu kullanin, daha sonra StampToExistingPdfPage metodunu o PDF'te nereye ortaya cikmasini istediginiz konum koordinatlari (x, y) ve sayfa numarasini belirterek yerlesim için kullanin.

StampToExistingPdfPage metodu için hangi parametreler gereklidir?

IronBarcode'daki StampToExistingPdfPage metodu için gereklilikler: pdfFilePath (PDF konumunu belirten string), x ve y koordinatlari (piksel olarak konumlandirma için tamsayi), pageNumber (1-indexli tamsayi), ve korumali PDF'ler için istege bagli parola parametresi.

Aynı barkodu bir PDF'in birden fazla sayfasına damgalayabilir miyim?

Evet, IronBarcode size (çoğul 'Pages' dikkat edin) bir PDF belgenizin birden fazla sayfasına tek bir oluşturulmuş barkod damgalamayı sağlayan StampToExistingPdfPages metodunu sunar.

PDF'lerde barkodları konumlandırmak için hangi koordinat sistemi kullanılır?

IronBarcode, StampToExistingPdfPage metodunu kullanırken, sayfanın sol kenarından x-koordinatı ve sayfanın alt kenarından y-koordinatı ölçen piksel bazlı bir koordinat sistemi kullanır.

Mevcut PDF'lere barkod damgalamanin yaygin kullanin icinde nelere vardir?

IronBarcode'un PDF damgalama özelligi, sevkiyat etiketlerine özel takip kodlari eklemek, uretim raporlarina parti numaralari eklemek, hukuki formda belge kontrol numaralari eklemek ve dijital doğrulama veya hizli erişim için QR kodlari eklemek için yaygin olarak kullanilir.

Bir PDF'ye barkod damgalamak ara dosyalar kaydetmeyi gerektirir mi?

Hayir, IronBarcode'un StampToExistingPdfPage metodu, işleme zamani ve depolama alani tasarrufu saglayarak barkodu doğrudan PDF belgesi uzerine damgalar, gecici dosyalar oluşturmaz.

Şifre korumali PDF belgelerine barkod damgalayabilir miyim?

Evet, IronBarcode şifre korumali PDF'lere barkod damgalamayi destekler. StampToExistingPdfPage metodunda istege bagli bir parametre olarak PDF şifresini saglayin.

Hairil Hasyimi Bin Omar
Yazılım Mühendisi
Tüm harika mühendisler gibi, Hairil de hevesli bir öğrenendir. C#, Python ve Java bilgilerini keskinleştiriyor ve bu bilgilerini, Iron Software ekibi genelinde takım üyelerine değer katmak için kullanıyor. Hairil, Malezya'daki Universiti Teknologi MARA'dan mezun olan Ek Kimya ve Süreç Mühendisliği ...
Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 2,169,908 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package BarCode
bir örnek çalıştırın dize barkod haline geldiğini görün.