Utwórz kod kreskowy w dokumentach programu Word za pomocą języka C#

Kody kreskowe to obrazy w postaci równoległych linii, kropek lub prostokątów z zakodowanymi danymi/informacjami. Specjaliści z branży osadzają i uzyskują dostęp do informacji o produktach, śledzą ruch produktów i nadążają za zapasami za pomocą kodów kreskowych. W niektórych przypadkach może być konieczne wygenerowanie i dodanie kodów kreskowych w dokumentach MS Word. MS Word jest najpopularniejszym i najczęściej używanym graficznym edytorem tekstu. Służy do tworzenia nowych dokumentów z tekstem, obrazami lub grafiką, pisania artykułów profesjonalnej jakości, edytowania i formatowania istniejących dokumentów itp. DOCX i DOC są popularnymi formaty plików obsługiwane przez MS Word. W tym artykule dowiemy się, jak programowo utworzyć kod kreskowy w dokumentach programu Word przy użyciu języka C#.

W tym artykule zostaną omówione następujące tematy:

C# API do tworzenia kodów kreskowych w dokumentach programu Word

Aby wygenerować kod kreskowy i dodać obraz kodu kreskowego do dokumentów programu Word, wykonamy procedurę dwuetapową. Najpierw użyjemy API Aspose.Words for .NET do utworzenia lub załadowania dokumentu Word, następnie wygenerujemy i dodamy obraz kodu kreskowego do dokumentu za pomocą Aspose.BarCode for .NET API. Klasa Document API Aspose.Words for .NET umożliwia utworzenie nowego dokumentu Word lub załadowanie istniejącego pliku Word w aplikacji. Metoda Save() tej klasy zapisuje dokument w podanej ścieżce pliku. Klasa DocumentBuilder interfejsu API zapewnia metody budowania dokumentu. Zapewnia różne przeciążone metody InsertImage() wstawiania obrazu do dokumentu.

Aspose.BarCode for .NET API pozwala na generowanie różnych typów obsługiwanych kodów kreskowych. W tym celu udostępnia klasę BarcodeGenerator do generowania kodu kreskowego określonego EncodeType. Wygenerowany obraz kodu kreskowego możemy zapisać za pomocą metody Save() tej klasy. Interfejs API zapewnia również wyliczenie BarCodeImageFormat w celu określenia formatów zapisu. Kod kreskowy możemy odczytać z obrazów za pomocą klasy BarCodeReader API.

Proszę pobrać biblioteki DLL interfejsów API lub zainstalować je za pomocą NuGet.

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

Wygeneruj i dodaj kod kreskowy do dokumentu programu Word w języku C#

Możemy utworzyć nowy dokument Word i dodać obraz kodu kreskowego do dokumentu, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy BarcodeGenerator. Wymaga EncodeType i tekstu do zakodowania jako argumentów.
  2. Następnie utwórz instancję obiektu strumienia pamięci.
  3. Następnie wywołaj metodę Save(), aby zapisać obraz kodu kreskowego w strumieniu pamięci.
  4. Następnie utwórz instancję klasy Document.
  5. Następnie zainicjuj instancję klasy DocumentBuilder obiektem Document.
  6. Następnie wstaw obraz kodu kreskowego za pomocą metody InsertImage() z obiektem stream jako argumentem.
  7. Na koniec wywołaj metodę Save(). Jako argument przyjmuje wyjściową ścieżkę pliku DOCX.

Poniższy przykład kodu pokazuje, jak wygenerować i dodać kod kreskowy do nowego dokumentu programu Word przy użyciu języka C#.

// Ten przykład kodu demonstruje sposób generowania i dodawania obrazu kodu kreskowego do dokumentu programu Word.
// Ścieżka do katalogu dokumentów.
string dataDir = @"C:\Files\BarCode\";

// Utwórz instancję liniowego obiektu kodu kreskowego, Ustaw tekst kodu i typ symboliki dla kodu kreskowego
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567890");

// Tworzenie strumienia pamięci i zapisywanie obrazu kodu kreskowego w strumieniu pamięci
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Utwórz nowy dokument Worda
Aspose.Words.Document doc = new Aspose.Words.Document();

// Utwórz konstruktora dla obiektu dokumentu
DocumentBuilder builder = new DocumentBuilder(doc);

// Wstaw obraz kodu kreskowego do dokumentu
builder.InsertImage(ms);

// Zapisz dokument Word
doc.Save(dataDir + "Sample_out.docx");
Wygeneruj i dodaj kod kreskowy do nowego dokumentu programu Word w języku C#.

Wygeneruj i dodaj kod kreskowy do nowego dokumentu programu Word w języku C#.

Dodaj kod kreskowy do istniejącego dokumentu programu Word w języku C#

Możemy wygenerować i dodać obraz kodu kreskowego do dowolnego istniejącego dokumentu Word, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy BarcodeGenerator z EncodeType i tekstem do zakodowania jako argumentami.
  2. Następnie utwórz instancję obiektu strumienia pamięci.
  3. Następnie wywołaj metodę Save(), aby zapisać obraz kodu kreskowego w strumieniu pamięci.
  4. Następnie załaduj istniejący dokument programu Word, używając klasy Document.
  5. Następnie zainicjuj instancję klasy DocumentBuilder obiektem Document.
  6. Następnie wstaw obraz kodu kreskowego za pomocą metody InsertImage() z obiektem stream i jego pozycją jako argumentami.
  7. Na koniec wywołaj metodę Save(). Jako argument przyjmuje wyjściową ścieżkę pliku DOCX.

Poniższy przykład kodu pokazuje, jak wygenerować i dodać kod kreskowy do istniejącego dokumentu programu Word przy użyciu języka C#.

// Ten przykład kodu demonstruje sposób generowania i dodawania obrazu kodu kreskowego do istniejącego dokumentu programu Word.
// Ścieżka do katalogu dokumentów.
string dataDir = @"C:\Files\BarCode\";

// Utwórz instancję liniowego obiektu kodu kreskowego, Ustaw tekst kodu i typ symboliki dla kodu kreskowego
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Codabar, "1234567890");

// Tworzenie strumienia pamięci i zapisywanie obrazu kodu kreskowego w strumieniu pamięci
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Utwórz nowy dokument Worda
Document doc = new Document(dataDir + "sample.docx");

// Utwórz konstruktora dla obiektu dokumentu
DocumentBuilder builder = new DocumentBuilder(doc);

// Wstaw obraz kodu kreskowego do dokumentu
builder.InsertImage(ms,
    RelativeHorizontalPosition.Margin,
    0,
    RelativeVerticalPosition.Margin,
    400,
    200,
    100,
    WrapType.Square);

// Zapisz dokument Word
doc.Save(dataDir + "Sample_out.docx");
Dodaj kod kreskowy do istniejącego dokumentu programu Word w języku C#.

Dodaj kod kreskowy do istniejącego dokumentu programu Word w języku C#.

Dodaj kod QR do dokumentu programu Word za pomocą języka C#

Podobnie możemy również wygenerować obraz kodu QR i dodać go do dokumentu Word, wykonując czynności wymienione wcześniej. Jednak w pierwszym kroku musimy tylko ustawić EncodeType jako QR lub GS1QR. Może być również konieczne dostosowanie pozycji obrazu w kroku 6.

Poniższy przykład kodu demonstruje, jak dodać kod QR do dokumentu programu Word przy użyciu języka C#.

// Ten przykład kodu pokazuje, jak wygenerować i dodać kod QR do istniejącego dokumentu programu Word.
// Ścieżka do katalogu dokumentów.
string dataDir = @"C:\Files\BarCode\";

// Utwórz instancję liniowego obiektu kodu kreskowego, Ustaw tekst kodu i typ symboliki dla kodu kreskowego
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// Tworzenie strumienia pamięci i zapisywanie obrazu kodu kreskowego w strumieniu pamięci
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Utwórz nowy dokument Worda
Document doc = new Document(dataDir + "sample.docx");

// Utwórz konstruktora dla obiektu dokumentu
DocumentBuilder builder = new DocumentBuilder(doc);

// Wstaw obraz kodu kreskowego do dokumentu
builder.InsertImage(ms,
    RelativeHorizontalPosition.Margin,
    400,
    RelativeVerticalPosition.Margin,
    -50,
    100,
    100,
    WrapType.Square);

// Zapisz dokument Word
doc.Save(dataDir + "Sample_qr_out.docx");
Dodaj kod QR do dokumentu programu Word za pomocą języka C#.

Dodaj kod QR do dokumentu programu Word za pomocą języka C#.

Czytaj kod kreskowy z dokumentu Word za pomocą C#

Możemy rozpoznać dowolny obraz kodu kreskowego dostępny na dowolnej stronie dokumentu Word, wykonując czynności podane poniżej:

  1. Najpierw załaduj istniejący dokument programu Word, używając klasy Document.
  2. Następnie uzyskaj dostęp do NodeCollection typów Shape za pomocą metody GetChildNodes().
  3. Następnie przejrzyj wszystkie kształty i sprawdź, czy kształt jest obrazem.
  4. Następnie zapisz obraz w strumieniu.
  5. Następnie utwórz instancję klasy BarCodeReader ze strumieniem obrazu i DecodeType jako argumentami.
  6. Następnie wywołaj metodę ReadBarCodes(), aby pobrać obiekt BarCodeResult.
  7. Na koniec pokaż informacje o kodzie kreskowym.

Poniższy przykład kodu pokazuje, jak odczytać obraz kodu kreskowego z dokumentu programu Word przy użyciu języka C#.

// Ten przykład kodu pokazuje, jak odczytać kod kreskowy z dokumentu programu Word.
// Ścieżka do katalogu dokumentów.
string dataDir = @"C:\Files\BarCode\";

// Załaduj dokument Word
Document wordDocument = new Document(dataDir + "sample_out.docx");

// Zdobądź wszystkie kształty
NodeCollection shapes = wordDocument.GetChildNodes(NodeType.Shape, true);

// Zapętl wszystkie kształty
foreach (Shape shape in shapes)
{
  // Sprawdź, czy ma obraz
  if (shape.HasImage)
  {
    // Zapisz obraz w strumieniu pamięci
    MemoryStream imgStream = new MemoryStream();
    shape.ImageData.Save(imgStream);

    // Rozpoznaj kod kreskowy z powyższego strumienia obrazu
    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

Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować bibliotekę bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule dowiedzieliśmy się, jak:

  • programowo utworzyć dokument Word;
  • wygenerować obraz kodu kreskowego i dodać go do dokumentu Word;
  • utwórz kod QR i wstaw go do dokumentu Word;
  • odczytać obraz kodu kreskowego z dokumentu programu Word w języku C#.

Poza tym możesz dowiedzieć się więcej o Aspose.BarCode for .NET API korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też