Crea codice a barre in documenti Word usando C#

I codici a barre sono immagini sotto forma di linee parallele, punti o rettangoli con dati/informazioni codificati. I professionisti del settore incorporano e accedono alle informazioni sui prodotti, tengono traccia dei movimenti dei prodotti e tengono il passo con l’inventario utilizzando i codici a barre. In alcuni casi, potrebbe essere necessario generare e aggiungere codici a barre nei documenti MS Word. MS Word è il programma di elaborazione testi grafica più popolare e ampiamente utilizzato. Viene utilizzato per creare nuovi documenti con testo, immagini o grafica, scrivere annotazioni di qualità professionale, modificare e formattare i documenti esistenti, ecc. Il DOCX e il DOC sono i più diffusi formati di file supportati da MS Word. In questo articolo impareremo come creare un codice a barre nei documenti di Word a livello di codice usando C#.

In questo articolo verranno trattati i seguenti argomenti:

API C# per creare codici a barre in documenti Word

Per generare un codice a barre e aggiungere un’immagine di codice a barre ai documenti Word, seguiremo una procedura in due passaggi. In primo luogo, utilizzeremo l’API Aspose.Words for .NET per creare o caricare un documento Word, quindi genereremo e aggiungeremo l’immagine del codice a barre al documento utilizzando Aspose.BarCode for .NET API. La classe Document dell’API Aspose.Words per .NET consente di creare un nuovo documento Word o caricare un file Word esistente nell’applicazione. Il metodo Save() di questa classe salva il documento nel percorso del file specificato. La classe DocumentBuilder dell’API fornisce metodi per la creazione di un documento. Fornisce vari metodi InsertImage() sovraccaricati per inserire un’immagine nel documento.

L’API Aspose.BarCode per .NET consente di generare vari tipi di codici a barre supportati. A tale scopo, fornisce la classe BarcodeGenerator per generare il codice a barre del EncodeType specificato. Possiamo salvare l’immagine del codice a barre generata usando il metodo Save() di questa classe. L’API fornisce anche l’enumerazione BarCodeImageFormat per specificare i formati di salvataggio. Possiamo leggere il codice a barre dalle immagini utilizzando la classe BarCodeReader dell’API.

Si prega di scaricare le DLL delle API o installarle utilizzando NuGet.

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

Genera e aggiungi codice a barre al documento di Word in C#

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

  1. Innanzitutto, crea un’istanza della classe BarcodeGenerator. Richiede EncodeType e testo per 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 inizializzare un’istanza della classe DocumentBuilder con l’oggetto Document.
  6. Successivamente, inserisci l’immagine del codice a barre utilizzando il metodo InsertImage() con l’oggetto stream come argomento.
  7. Infine, chiama il metodo Save(). Prende il percorso del file DOCX di output come argomento.

L’esempio di codice seguente mostra come generare e aggiungere un codice a barre a un nuovo documento di Word usando C#.

// Questo esempio di codice mostra come generare e aggiungere un'immagine di codice a barre al documento di Word.
// Il percorso della directory dei documenti.
string dataDir = @"C:\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, "1234567890");

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

// Crea un nuovo documento Word
Aspose.Words.Document doc = new Aspose.Words.Document();

// Crea builder per oggetto documento
DocumentBuilder builder = new DocumentBuilder(doc);

// Inserisci l'immagine del codice a barre nel documento
builder.InsertImage(ms);

// Salva il documento word
doc.Save(dataDir + "Sample_out.docx");
Genera e aggiungi codice a barre a un nuovo documento di Word in C#.

Genera e aggiungi codice a barre a un nuovo documento di Word in C#.

Aggiungi codice a barre al documento Word esistente in C#

Possiamo generare e aggiungere un’immagine di codice a barre a qualsiasi documento Word 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 un documento Word esistente utilizzando la classe Document.
  5. Quindi inizializzare un’istanza della classe DocumentBuilder con l’oggetto Document.
  6. Successivamente, inserisci l’immagine del codice a barre utilizzando il metodo InsertImage() con l’oggetto stream e la sua posizione come argomenti.
  7. Infine, chiama il metodo Save(). Prende il percorso del file DOCX di output come argomento.

L’esempio di codice seguente mostra come generare e aggiungere un codice a barre a un documento Word esistente usando C#.

// Questo esempio di codice mostra come generare e aggiungere un'immagine di codice a barre a un documento Word esistente.
// Il percorso della directory dei documenti.
string dataDir = @"C:\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.Codabar, "1234567890");

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

// Crea un nuovo documento Word
Document doc = new Document(dataDir + "sample.docx");

// Crea builder per oggetto documento
DocumentBuilder builder = new DocumentBuilder(doc);

// Inserisci l'immagine del codice a barre nel documento
builder.InsertImage(ms,
    RelativeHorizontalPosition.Margin,
    0,
    RelativeVerticalPosition.Margin,
    400,
    200,
    100,
    WrapType.Square);

// Salva il documento word
doc.Save(dataDir + "Sample_out.docx");
Aggiungi codice a barre al documento Word esistente in C#.

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

Aggiungi il codice QR al documento di Word usando C#

Allo stesso modo, possiamo anche generare un’immagine di codice QR e aggiungerla al documento Word seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo impostare EncodeType come QR o GS1QR nel primo passaggio. Potrebbe anche essere necessario regolare la posizione dell’immagine nel passaggio 6.

Nell’esempio di codice seguente viene illustrato come aggiungere un codice QR a un documento di Word usando C#.

// Questo esempio di codice mostra come generare e aggiungere codice QR a un documento Word esistente.
// Il percorso della directory dei documenti.
string dataDir = @"C:\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.QR, "1234567");

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

// Crea un nuovo documento Word
Document doc = new Document(dataDir + "sample.docx");

// Crea builder per oggetto documento
DocumentBuilder builder = new DocumentBuilder(doc);

// Inserisci l'immagine del codice a barre nel documento
builder.InsertImage(ms,
    RelativeHorizontalPosition.Margin,
    400,
    RelativeVerticalPosition.Margin,
    -50,
    100,
    100,
    WrapType.Square);

// Salva il documento word
doc.Save(dataDir + "Sample_qr_out.docx");
Aggiungi il codice QR al documento di Word usando C#.

Aggiungi il codice QR al documento di Word usando C#.

Leggi il codice a barre dal documento di Word usando C#

Siamo in grado di riconoscere qualsiasi immagine di codice a barre disponibile su qualsiasi pagina del documento Word seguendo i passaggi indicati di seguito:

  1. Innanzitutto, carica un documento Word esistente utilizzando la classe Document.
  2. Successivamente, accedi ai tipi NodeCollection di Shape utilizzando il metodo GetChildNodes().
  3. Quindi, scorrere tutte le forme e verificare se la forma è un’immagine.
  4. Quindi, salva l’immagine nello stream.
  5. Quindi, crea un’istanza della classe BarCodeReader con flusso di immagini e DecodeType come argomenti.
  6. Dopodiché, chiama il metodo ReadBarCodes() per ottenere l’oggetto BarCodeResult.
  7. Infine, mostra le informazioni sul codice a barre.

Nell’esempio di codice seguente viene illustrato come leggere un’immagine di codice a barre da un documento di Word usando C#.

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

// Carica il documento word
Document wordDocument = new Document(dataDir + "sample_out.docx");

// Ottieni tutte le forme
NodeCollection shapes = wordDocument.GetChildNodes(NodeType.Shape, true);

// Passa attraverso tutte le forme
foreach (Shape shape in shapes)
{
  // Controlla se ha un'immagine
  if (shape.HasImage)
  {
    // Salva l'immagine nel flusso di memoria
    MemoryStream imgStream = new MemoryStream();
    shape.ImageData.Save(imgStream);

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

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 Word a livello di codice;
  • generare un’immagine di codice a barre e aggiungerla al documento Word;
  • creare un codice QR e inserirlo in un documento Word;
  • leggere un’immagine di codice a barre da un documento di Word in C#.

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