Aggiungi codice a barre al PDF usando C#

PDF è il formato più diffuso per la condivisione e la stampa di documenti. Molte organizzazioni utilizzano il PDF come formato standard per la generazione di report e la condivisione di altri documenti ufficiali. In alcuni casi, potrebbe essere necessario incorporare dati o informazioni specifici sul documento, sul prodotto o sull’azienda come immagine del codice a barre nei documenti PDF. Possiamo aggiungere un’immagine di codice a barre leggibile dalla macchina a un documento PDF in modo programmatico nelle applicazioni .NET. In questo articolo impareremo come aggiungere un codice a barre ai documenti PDF usando C#.

L’articolo tratterà i seguenti argomenti:

API C# per aggiungere codice a barre al PDF

Per aggiungere codici a barre ai documenti PDF, seguiremo una procedura in due passaggi. In primo luogo, utilizzeremo l’API Aspose.PDF for .NET per creare o caricare un documento PDF, quindi genereremo e aggiungeremo l’immagine del codice a barre al PDF utilizzando Aspose.BarCode for .NET API. Si prega di scaricare le DLL delle API o installarle utilizzando NuGet.

PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.PDF

Crea documento PDF e aggiungi codice a barre in C#

Possiamo creare un nuovo documento PDF e aggiungere un’immagine del codice a barre al PDF seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe BarcodeGenerator con EncodeType e il testo da codificare come argomenti.
  2. Quindi, crea un’istanza dell’oggetto flusso di memoria
  3. Quindi, chiama il metodo Save() per salvare l’immagine del codice a barre nel flusso di memoria.
  4. Quindi, crea un’istanza della classe Document.
  5. Quindi, aggiungi una pagina al documento PDF appena creato.
  6. Quindi, crea un’istanza della classe PdfFileMend.
  7. Quindi, chiama il metodo BindPdf() con l’oggetto Document per associarlo.
  8. Quindi, chiama il metodo AddImage() con l’oggetto stream e le coordinate della posizione dell’immagine come argomenti.
  9. Successivamente, salva il PDF utilizzando il metodo Save(). Prende come argomento il percorso del file PDF di output.
  10. Infine, chiamare il metodo Close() per chiudere l’oggetto PdfFileMend.

L’esempio di codice seguente mostra come creare un nuovo documento PDF e aggiungere un’immagine di codice a barre usando C#.

// Questo esempio di codice mostra come aggiungere l'immagine del codice a barre a un PDF.
// Il percorso della directory dei documenti.
string dataDir = @"D:\Files\BarCode\";

// Istanziare oggetto codice a barre lineare, impostare il testo del codice e il tipo di simbologia per il codice a barre
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// Crea flusso di memoria e salva l'immagine del codice a barre nel flusso di memoria
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Crea un documento PDF e aggiungi una pagina al documento
Document doc = new Document();
doc.Pages.Add();

// Apri documento
PdfFileMend mender = new PdfFileMend();

// Associa il PDF per aggiungere il codice a barre
mender.BindPdf(doc);

// Aggiungi l'immagine del codice a barre nel file PDF
mender.AddImage(ms, 1, 100, 600, 200, 700);

// Salvare le modifiche
mender.Save(dataDir + "AddImage_out.pdf");

// Chiudere l'oggetto PdfFileMend
mender.Close();
Crea documento PDF e aggiungi codice a barre in C#.

Crea documento PDF e aggiungi codice a barre in C#.

Aggiungi codice a barre al documento PDF esistente in C#

Possiamo anche aggiungere un’immagine di codice a barre a qualsiasi pagina di documenti PDF esistenti. Il metodo AddImage() consente di aggiungere un’immagine alla pagina specificata del documento PDF alle coordinate specificate. Possiamo inserire un’immagine in un documento PDF esistente seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe BarcodeGenerator con EncodeType e il testo da codificare come argomenti.
  2. Quindi, crea un’istanza dell’oggetto flusso di memoria
  3. Quindi, chiama il metodo Save() per salvare l’immagine del codice a barre nel flusso di memoria.
  4. Quindi, carica il documento PDF utilizzando la classe Document.
  5. Quindi, crea un’istanza della classe PdfFileMend.
  6. Quindi, chiama il metodo BindPdf() con l’oggetto Document per associarlo.
  7. Quindi, chiama il metodo AddImage() con l’oggetto stream, il numero di pagina e le coordinate della posizione dell’immagine come argomenti.
  8. Successivamente, salva il PDF utilizzando il metodo Save(). Prende come argomento il percorso del file PDF di output.
  9. Infine, chiama il metodo Close() per chiudere l’oggetto PdfFileMend.

L’esempio di codice seguente mostra come aggiungere un’immagine di codice a barre a un documento PDF esistente usando C#.

// Questo esempio di codice mostra come aggiungere l'immagine del codice a barre a un PDF esistente.
// Il percorso della directory dei documenti.
string dataDir = @"D:\Files\BarCode\";

// Crea un'istanza dell'oggetto codice a barre lineare, imposta il testo del codice e il tipo di simbologia per il codice a barre
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// Crea flusso di memoria e salva l'immagine del codice a barre nel flusso di memoria
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Carica un documento PDF
Document doc = new Document(dataDir + "sample.pdf");

// Apri documento
PdfFileMend mender = new PdfFileMend();

// Associa PDF per aggiungere l'immagine del codice a barre
mender.BindPdf(doc);

// Aggiungi l'immagine del codice a barre nel file PDF
mender.AddImage(ms, 1, 70, 0, 200, 600);

// Salvare le modifiche
mender.Save(dataDir + "Sample_out.pdf");

// Chiudere l'oggetto PdfFileMend
mender.Close();
Aggiungi codice a barre al documento PDF esistente in C#.

Aggiungi codice a barre al documento PDF esistente in C#.

Aggiungi codice QR ai documenti PDF in C#

Allo stesso modo, possiamo anche aggiungere un codice QR ai documenti PDF seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo impostare EncodeType come QR nel primo passaggio. Potrebbe anche essere necessario regolare la posizione dell’immagine nel passaggio n. 7.

L’esempio di codice seguente mostra come aggiungere un codice QR a un documento PDF usando C#.

// Questo esempio di codice mostra come aggiungere un codice QR a un PDF esistente.
// Il percorso della directory dei documenti.
string dataDir = @"D:\Files\BarCode\";

// Crea un'istanza dell'oggetto codice a barre lineare, imposta il testo del codice e il tipo di simbologia per il codice a barre
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// Crea flusso di memoria e salva l'immagine del codice a barre nel flusso di memoria
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Carica un documento PDF
Document doc = new Document(dataDir + "sample.pdf");

// Apri documento
PdfFileMend mender = new PdfFileMend();

// Associa PDF per aggiungere l'immagine del codice a barre
mender.BindPdf(doc);

// Aggiungi l'immagine QR nel file PDF
mender.AddImage(ms, 1, 0, 650, 200, 780);

// Salvare le modifiche
mender.Save(dataDir + "Sample_QR_out.pdf");

// Chiudere l'oggetto PdfFileMend
mender.Close();
Aggiungi codice QR ai documenti PDF in C#.

Aggiungi codice QR ai documenti PDF in C#.

Leggi il codice a barre dal documento PDF usando C#

Possiamo riconoscere qualsiasi immagine di codice a barre incorporata in qualsiasi pagina del documento PDF utilizzando la classe PdfExtractor. Consente di estrarre immagini da PDF e quindi leggeremo le informazioni sul codice a barre dall’immagine estratta. Possiamo leggere i codici a barre dai documenti PDF seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe PdfExtractor.
  2. Quindi, associa il documento PDF di input utilizzando il metodo BindPdf().
  3. Quindi, imposta l’intervallo di pagine per l’estrazione dell’immagine.
  4. Quindi, chiama il metodo ExtractImage() per estrarre le immagini.
  5. Quindi, salva l’immagine per lo streaming in un ciclo.
  6. Quindi, crea un’istanza della classe BarCodeReader con flusso di immagini e DecodeType come argomenti.
  7. Dopodiché, chiama il metodo ReadBarCodes() per ottenere l’oggetto BarCodeResult.
  8. Infine, mostra le informazioni sul codice a barre.

L’esempio di codice seguente mostra come leggere un’immagine di codice a barre da un documento PDF usando C#.

// Questo esempio di codice mostra come leggere il codice a barre da un PDF
// Il percorso della directory dei documenti.
string dataDir = @"D:\Files\BarCode\sample_out.pdf";

// Lega il documento pdf
Aspose.Pdf.Facades.PdfExtractor pdfExtractor = new Aspose.Pdf.Facades.PdfExtractor();
pdfExtractor.BindPdf(dataDir);

// Imposta l'intervallo di pagine per l'estrazione dell'immagine
pdfExtractor.StartPage = 1;
pdfExtractor.EndPage = 1;

// Estrarre le immagini
pdfExtractor.ExtractImage();

// Salva le immagini per lo streaming in un ciclo
while (pdfExtractor.HasNextImage())
{
  // Salva l'immagine per lo streaming
  MemoryStream imageStream = new MemoryStream();
  pdfExtractor.GetNextImage(imageStream);
  imageStream.Position = 0;

  // Riconosci il codice a barre dal flusso di immagini sopra
  using (BarCodeReader reader = new BarCodeReader(imageStream, DecodeType.Code39Standard))
  {
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
      Console.WriteLine("Codetext found: " + result.CodeType);
      Console.WriteLine("Symbology: " + result.CodeText);
    }
  }
}
Codetext found: Code39Standard
Symbology: 1234567

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per provare la libreria senza limitazioni di valutazione.

Conclusione

In questo articolo abbiamo imparato a:

  • creare un documento PDF in modo programmatico;
  • generare e aggiungere un’immagine di codice a barre al PDF in C#;
  • estrarre immagini da un documento PDF utilizzando C#;
  • leggere l’immagine del codice a barre da un documento PDF.

Inoltre, puoi saperne di più su Aspose.BarCode per .NET API usando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche