Dodaj kod kreskowy do PDF za pomocą C#

PDF to najpopularniejszy format udostępniania i drukowania dokumentów. Wiele organizacji używa formatu PDF jako standardowego formatu do generowania raportów i udostępniania innych oficjalnych dokumentów. W niektórych przypadkach może być konieczne osadzenie określonych danych lub informacji o dokumencie, produkcie lub firmie jako obrazu kodu kreskowego w dokumentach PDF. Możemy dodać odczytywalny maszynowo obraz kodu kreskowego do dokumentu PDF programowo w aplikacjach .NET. W tym artykule dowiemy się, jak dodać kod kreskowy do dokumentów PDF za pomocą C#.

Artykuł obejmie następujące tematy:

C# API do dodawania kodu kreskowego do pliku PDF

Aby dodać kody kreskowe do dokumentów PDF, zastosujemy dwuetapową procedurę. Najpierw użyjemy API Aspose.PDF for .NET do utworzenia lub załadowania dokumentu PDF, następnie wygenerujemy i dodamy obraz kodu kreskowego do pliku PDF za pomocą Aspose.BarCode for .NET API. Pobierz biblioteki DLL interfejsów API lub zainstaluj je za pomocą NuGet.

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

Utwórz dokument PDF i dodaj kod kreskowy w C#

Możemy utworzyć nowy dokument PDF i dodać obraz kodu kreskowego do pliku PDF, 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 utwórz instancję klasy Document.
  5. Następnie dodaj stronę do nowo utworzonego dokumentu PDF.
  6. Następnie utwórz instancję klasy PdfFileMend.
  7. Następnie wywołaj metodę BindPdf() z obiektem Document, aby go powiązać.
  8. Następnie wywołaj metodę AddImage() z obiektem strumienia i współrzędnymi pozycji obrazu jako argumentami.
  9. Następnie zapisz plik PDF za pomocą metody Save(). Jako argument przyjmuje wyjściową ścieżkę pliku PDF.
  10. Na koniec wywołaj metodę Close(), aby zamknąć obiekt PdfFileMend.

Poniższy przykład kodu demonstruje, jak utworzyć nowy dokument PDF i dodać obraz kodu kreskowego przy użyciu języka C#.

// Ten przykład kodu pokazuje, jak dodać obraz kodu kreskowego do pliku PDF.
// Ścieżka do katalogu dokumentów.
string dataDir = @"D:\Files\BarCode\";

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

// Utwórz strumień pamięci i Zapisz obraz kodu kreskowego w strumieniu pamięci
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Utwórz dokument PDF i Dodaj stronę do dokumentu
Document doc = new Document();
doc.Pages.Add();

// Otwórz dokument
PdfFileMend mender = new PdfFileMend();

// Zwiąż plik PDF, aby dodać kod kreskowy
mender.BindPdf(doc);

// Dodaj obraz kodu kreskowego w pliku PDF
mender.AddImage(ms, 1, 100, 600, 200, 700);

// Zapisz zmiany
mender.Save(dataDir + "AddImage_out.pdf");

// Zamknij obiekt PdfFileMend
mender.Close();
Utwórz dokument PDF i dodaj kod kreskowy w C#.

Utwórz dokument PDF i dodaj kod kreskowy w C#.

Dodaj kod kreskowy do istniejącego dokumentu PDF w C#

Możemy również dodać obraz kodu kreskowego do dowolnej strony istniejących dokumentów PDF. Metoda AddImage() umożliwia dodanie obrazu do określonej strony dokumentu PDF w określonych współrzędnych. Możemy wstawić obraz do istniejącego dokumentu PDF, wykonując poniższe czynności:

  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 dokument PDF przy użyciu klasy Document.
  5. Następnie utwórz instancję klasy PdfFileMend.
  6. Następnie wywołaj metodę BindPdf() z obiektem Document, aby go powiązać.
  7. Następnie wywołaj metodę AddImage() z obiektem strumienia, numerem strony i współrzędnymi pozycji obrazu jako argumentami.
  8. Następnie zapisz plik PDF za pomocą metody Save(). Jako argument przyjmuje wyjściową ścieżkę pliku PDF.
  9. Na koniec wywołaj metodę Close(), aby zamknąć obiekt PdfFileMend.

Poniższy przykład kodu demonstruje, jak dodać obraz kodu kreskowego do istniejącego dokumentu PDF przy użyciu języka C#.

// Ten przykład kodu pokazuje, jak dodać obraz kodu kreskowego do istniejącego pliku PDF.
// Ścieżka do katalogu dokumentów.
string dataDir = @"D:\Files\BarCode\";

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

// Utwórz strumień pamięci i Zapisz obraz kodu kreskowego w strumieniu pamięci
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Załaduj dokument PDF
Document doc = new Document(dataDir + "sample.pdf");

// Otwórz dokument
PdfFileMend mender = new PdfFileMend();

// Bind PDF, aby dodać obraz kodu kreskowego
mender.BindPdf(doc);

// Dodaj obraz kodu kreskowego w pliku PDF
mender.AddImage(ms, 1, 70, 0, 200, 600);

// Zapisz zmiany
mender.Save(dataDir + "Sample_out.pdf");

// Zamknij obiekt PdfFileMend
mender.Close();
Dodaj kod kreskowy do istniejącego dokumentu PDF w C#.

Dodaj kod kreskowy do istniejącego dokumentu PDF w C#.

Dodaj kod QR do dokumentów PDF w C#

Podobnie możemy również dodać kod QR do dokumentów PDF, wykonując czynności wspomniane wcześniej. Jednak w pierwszym kroku musimy tylko ustawić EncodeType jako QR. Może być również konieczne dostosowanie pozycji obrazu w kroku nr 7.

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

// Ten przykład kodu pokazuje, jak dodać kod QR do istniejącego pliku PDF.
// Ścieżka do katalogu dokumentów.
string dataDir = @"D:\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");

// Utwórz strumień pamięci i Zapisz obraz kodu kreskowego w strumieniu pamięci
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Załaduj dokument PDF
Document doc = new Document(dataDir + "sample.pdf");

// Otwórz dokument
PdfFileMend mender = new PdfFileMend();

// Bind PDF, aby dodać obraz kodu kreskowego
mender.BindPdf(doc);

// Dodaj obraz QR w pliku PDF
mender.AddImage(ms, 1, 0, 650, 200, 780);

// Zapisz zmiany
mender.Save(dataDir + "Sample_QR_out.pdf");

// Zamknij obiekt PdfFileMend
mender.Close();
Dodaj kod QR do dokumentów PDF w języku C#.

Dodaj kod QR do dokumentów PDF w języku C#.

Czytaj kod kreskowy z dokumentu PDF za pomocą C#

Możemy rozpoznać dowolny obraz kodu kreskowego osadzony na dowolnej ze stron dokumentu PDF za pomocą klasy PdfExtractor. Pozwala wyodrębnić obrazy z PDF, a następnie odczytamy informacje o kodzie kreskowym z wyodrębnionego obrazu. Możemy odczytać kody kreskowe z dokumentów PDF, wykonując poniższe czynności:

  1. Najpierw utwórz instancję klasy PdfExtractor.
  2. Następnie zbinduj wejściowy dokument PDF za pomocą metody BindPdf().
  3. Następnie ustaw zakres stron do ekstrakcji obrazu.
  4. Następnie wywołaj metodę ExtractImage(), aby wyodrębnić obrazy.
  5. Następnie zapisz obraz, aby przesyłać strumieniowo w pętli.
  6. Następnie utwórz instancję klasy BarCodeReader ze strumieniem obrazu i DecodeType jako argumentami.
  7. Następnie wywołaj metodę ReadBarCodes(), aby pobrać obiekt BarCodeResult.
  8. Na koniec pokaż informacje o kodzie kreskowym.

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

// Ten przykład kodu pokazuje, jak odczytać kod kreskowy z pliku PDF
// Ścieżka do katalogu dokumentów.
string dataDir = @"D:\Files\BarCode\sample_out.pdf";

// Zwiąż dokument pdf
Aspose.Pdf.Facades.PdfExtractor pdfExtractor = new Aspose.Pdf.Facades.PdfExtractor();
pdfExtractor.BindPdf(dataDir);

// Ustaw zakres stron do ekstrakcji obrazu
pdfExtractor.StartPage = 1;
pdfExtractor.EndPage = 1;

// Wyodrębnij obrazy
pdfExtractor.ExtractImage();

// Zapisuj obrazy do strumieniowego przesyłania w pętli
while (pdfExtractor.HasNextImage())
{
  // Zapisz obraz do strumienia
  MemoryStream imageStream = new MemoryStream();
  pdfExtractor.GetNextImage(imageStream);
  imageStream.Position = 0;

  // Rozpoznaj kod kreskowy z powyższego strumienia obrazu
  using (BarCodeReader reader = new BarCodeReader(imageStream, DecodeType.Code39Standard))
  {
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
      Console.WriteLine("Codetext found: " + result.CodeText);
      Console.WriteLine("Symbology: " + result.CodeType);
    }
  }
}
Codetext found: 1234567
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 PDF;
  • wygenerować i dodać obraz kodu kreskowego do pliku PDF w C#;
  • wyodrębnij obrazy z dokumentu PDF za pomocą C#;
  • odczytać obraz kodu kreskowego z dokumentu PDF.

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ż