Skapa streckkod i Word-dokument med C#

Streckkoder är bilder i form av parallella linjer, punkter eller rektanglar med kodad data/information. Branschproffs bäddar in och får tillgång till produktinformation, spårar produktrörelser och håller koll på lager med streckkoder. I vissa fall kan vi behöva generera och lägga till streckkoder i MS Word-dokument. MS Word är det mest populära och mest använda grafiska ordbehandlingsprogrammet. Den används för att skapa nya dokument med text, bilder eller grafik, skriva uppskrivningar av professionell kvalitet, redigera och formatera befintliga dokument, etc. DOCX och DOC är de populäraste filformat som stöds av MS Word. I den här artikeln kommer vi att lära oss hur man skapar en streckkod i Word-dokument programmatiskt med C#.

Följande ämnen ska behandlas i den här artikeln:

C# API för att skapa streckkoder i Word-dokument

För att generera en streckkod och lägga till en streckkodsbild till Word-dokument kommer vi att följa en tvåstegsprocedur. För det första kommer vi att använda Aspose.Words for .NET API för att skapa eller ladda ett Word-dokument, sedan kommer vi att generera och lägga till streckkodsbilden till dokumentet med hjälp av Aspose.BarCode for .NET API. Klassen Document i Aspose.Words for .NET API gör det möjligt att skapa ett nytt Word-dokument eller ladda en befintlig Word-fil i applikationen. Metoden Save() för denna klass sparar dokumentet på den givna sökvägen. Klassen DocumentBuilder i API:t tillhandahåller metoder för att bygga ett dokument. Den tillhandahåller olika överbelastade InsertImage() metoder för att infoga en bild i dokumentet.

Aspose.BarCode för .NET API tillåter generering av olika typer av streckkoder som stöds. För detta ändamål tillhandahåller den klassen BarcodeGenerator för att generera streckkoden för den specificerade EncodeType. Vi kan spara den genererade streckkodsbilden med metoden Save() för denna klass. API:et tillhandahåller även BarCodeImageFormat-uppräkningen för att specificera lagringsformaten. Vi kan läsa streckkoden från bilder med klassen BarCodeReader i API:t.

Vänligen antingen ladda ner API:ernas DLL:er eller installera dem med NuGet.

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

Generera och lägg till streckkod till Word-dokument i C#

Vi kan skapa ett nytt Word-dokument och lägga till en streckkodsbild till dokumentet genom att följa stegen nedan:

  1. Skapa först en instans av klassen BarcodeGenerator. Det krävs EncodeType och text för att koda som argument.
  2. Skapa sedan en instans av minnesströmobjektet.
  3. Anropa sedan metoden Save() för att spara streckkodsbilden i minnesströmmen.
  4. Skapa sedan en instans av klassen Document.
  5. Initiera sedan en instans av klassen DocumentBuilder med Document-objektet.
  6. Därefter infogar du streckkodsbilden med metoden InsertImage() med stream-objektet som argument.
  7. Till sist, anropa metoden Save(). Den tar utdata DOCX-filsökvägen som ett argument.

Följande kodexempel visar hur man genererar och lägger till en streckkod i ett nytt Word-dokument med C#.

// Detta kodexempel visar hur man genererar och lägger till en streckkodsbild till Word-dokument.
// Sökvägen till dokumentkatalogen.
string dataDir = @"C:\Files\BarCode\";

// Instantiera linjärt streckkodsobjekt, Ställ in kodtext och symboltyp för streckkoden
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567890");

// Skapa minnesström och spara streckkodsbild till minnesström
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Skapa ett nytt Word-dokument
Aspose.Words.Document doc = new Aspose.Words.Document();

// Skapa byggare för dokumentobjekt
DocumentBuilder builder = new DocumentBuilder(doc);

// Infoga streckkodsbilden i dokumentet
builder.InsertImage(ms);

// Spara Word-dokumentet
doc.Save(dataDir + "Sample_out.docx");
Generera och lägg till streckkod i ett nytt Word-dokument i C#.

Generera och lägg till streckkod i ett nytt Word-dokument i C#.

Lägg till streckkod i befintligt Word-dokument i C#

Vi kan generera och lägga till en streckkodsbild till alla befintliga Word-dokument genom att följa stegen nedan:

  1. Skapa först en instans av klassen BarcodeGenerator med EncodeType och text som ska kodas som argument.
  2. Skapa sedan en instans av minnesströmobjektet.
  3. Anropa sedan metoden Save() för att spara streckkodsbilden i minnesströmmen.
  4. Ladda sedan ett befintligt Word-dokument med klassen Document.
  5. Initiera sedan en instans av klassen DocumentBuilder med Document-objektet.
  6. Efter det, infoga streckkodsbilden med metoden InsertImage() med stream-objektet och dess position som argument.
  7. Till sist, anropa metoden Save(). Den tar utdata DOCX-filsökvägen som ett argument.

Följande kodexempel visar hur man genererar och lägger till en streckkod till ett befintligt Word-dokument med C#.

// Detta kodexempel visar hur man skapar och lägger till en streckkodsbild till ett befintligt Word-dokument.
// Sökvägen till dokumentkatalogen.
string dataDir = @"C:\Files\BarCode\";

// Instantiera linjärt streckkodsobjekt, Ställ in kodtext och symboltyp för streckkoden
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Codabar, "1234567890");

// Skapa minnesström och spara streckkodsbild till minnesström
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Skapa ett nytt Word-dokument
Document doc = new Document(dataDir + "sample.docx");

// Skapa byggare för dokumentobjekt
DocumentBuilder builder = new DocumentBuilder(doc);

// Infoga streckkodsbilden i dokumentet
builder.InsertImage(ms,
    RelativeHorizontalPosition.Margin,
    0,
    RelativeVerticalPosition.Margin,
    400,
    200,
    100,
    WrapType.Square);

// Spara Word-dokumentet
doc.Save(dataDir + "Sample_out.docx");
Lägg till streckkod till befintliga Word-dokument i C#.

Lägg till streckkod till befintliga Word-dokument i C#.

Lägg till QR-kod i Word-dokument med C#

På samma sätt kan vi också generera en QR-kodbild och lägga till den i Word-dokumentet genom att följa stegen som nämnts tidigare. Men vi behöver bara ställa in EncodeType som QR eller GS1QR i det första steget. Vi kan också behöva justera bildpositionen i steg 6.

Följande kodexempel visar hur man lägger till en QR-kod i ett Word-dokument med C#.

// Detta kodexempel visar hur man genererar och lägger till QR-kod till ett befintligt Word-dokument.
// Sökvägen till dokumentkatalogen.
string dataDir = @"C:\Files\BarCode\";

// Instantiera linjärt streckkodsobjekt, Ställ in kodtext och symboltyp för streckkoden
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// Skapa minnesström och spara streckkodsbild till minnesström
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Skapa ett nytt Word-dokument
Document doc = new Document(dataDir + "sample.docx");

// Skapa byggare för dokumentobjekt
DocumentBuilder builder = new DocumentBuilder(doc);

// Infoga streckkodsbilden i dokumentet
builder.InsertImage(ms,
    RelativeHorizontalPosition.Margin,
    400,
    RelativeVerticalPosition.Margin,
    -50,
    100,
    100,
    WrapType.Square);

// Spara Word-dokumentet
doc.Save(dataDir + "Sample_qr_out.docx");
Lägg till QR-kod i Word-dokument med C#.

Lägg till QR-kod i Word-dokument med C#.

Läs streckkod från Word-dokument med C#

Vi kan känna igen alla streckkodsbilder som är tillgängliga på alla sidor i Word-dokumentet genom att följa stegen nedan:

  1. Först laddar du ett befintligt Word-dokument med klassen Document.
  2. Gå sedan till NodeCollection av Shape-typer med metoden GetChildNodes().
  3. Gå sedan igenom alla former och kontrollera om formen är en bild.
  4. Spara sedan bilden i strömmen.
  5. Skapa sedan en instans av klassen BarCodeReader med bildström och DecodeType som argument.
  6. Efter det, anropa metoden ReadBarCodes() för att få objektet BarCodeResult.
  7. Till sist, visa streckkodsinformationen.

Följande kodexempel visar hur man läser en streckkodsbild från ett Word-dokument med C#.

// Detta kodexempel visar hur man läser streckkoder från ett Word-dokument.
// Sökvägen till dokumentkatalogen.
string dataDir = @"C:\Files\BarCode\";

// Ladda word-dokumentet
Document wordDocument = new Document(dataDir + "sample_out.docx");

// Få alla former
NodeCollection shapes = wordDocument.GetChildNodes(NodeType.Shape, true);

// Slinga igenom alla former
foreach (Shape shape in shapes)
{
  // Kontrollera om den har en bild
  if (shape.HasImage)
  {
    // Spara bilden i minnesströmmen
    MemoryStream imgStream = new MemoryStream();
    shape.ImageData.Save(imgStream);

    // Känn igen streckkoden från bildströmmen ovan
    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

Skaffa en gratis licens

Du kan få en gratis tillfällig licens för att prova biblioteket utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har vi lärt oss hur man:

  • skapa ett Word-dokument programmatiskt;
  • generera en streckkodsbild och lägg till den i Word-dokumentet;
  • skapa en QR-kod och infoga den i ett Word-dokument;
  • läsa en streckkodsbild från ett Word-dokument i C#.

Dessutom kan du lära dig mer om Aspose.BarCode för .NET API med hjälp av dokumentationen. I händelse av oklarheter, var god kontakta oss på forumet.

Se även