PDF'lere C# Kullanarak Barkod Nasıl Damgalanır?
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.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/BarCode yükleyin
PM > Install-Package BarCode -
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); -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronBarcode kullanmaya başlayın ücretsiz deneme ile
Minimal İş Akışı (5 Adımda)
- PDF üzerine barkod damgalamak için C# kütüphanesini indirin
- Belirtilen barkod türü ve değeri ile bir barkod oluşturun
- Barkod boyutunu belirleyin
StampToExistingPdfPageyöntemini, barkodu tek bir PDF sayfasına damgalamak için kullanınStampToExistingPdfPagesyöntemini, barkodu birden fazla PDF sayfasına damgalamak için kullanın
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")
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")
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")
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)
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)
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
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:
- Toplu İşlemler:
StampToExistingPdfPage()döngüsü yerineStampToExistingPdfPages()kullanın - Barkod Önbelleğe Alma: Bir kez oluşturun ve
GeneratedBarcodenesnesini yeniden kullanın - Koordinat Hesaplama: Tutarlı pozisyon koordinatlarını önceden hesaplayın
- 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
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:
- Koordinat Sorunları: PDF koordinatları sol üst köşeden değil, alt sol köşeden başlamaktadır
- Şifre Korumalı PDF'ler: Şifreli PDF'ler için doğru şifre parametresini sağladığınızdan emin olun
- Büyük Dosya Boyutları: Optimizasyon ve yönetim ipuçları için sorun giderme kılavuzumuza bakın
- 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.

