1
有沒有人知道QR碼API,它將幫助檢測.PDF中的QR條碼。當我找到QR碼時,我想分解.pdfQR代碼API需要使用C#檢測.pdf內的QR碼
有沒有人知道QR碼API,它將幫助檢測.PDF中的QR條碼。當我找到QR碼時,我想分解.pdfQR代碼API需要使用C#檢測.pdf內的QR碼
有很多SDKs/API能夠檢測到&解碼PDF中的QR條碼。您還必須考慮如何輸入PDF並將其拆分。
您沒有指定您正在開發的平臺/編程語言,因此我將列出幾個不同的平臺/編程語言。
如果你正在尋找一種用於檢測QR條碼一個開源的解決方案,那麼你可以使用斑馬線:
如果您正在尋找更完整的解決方案,您可以使用Commercial(非免費)SDK進行研究。就像一個免責聲明,我爲LEADTOOLS工作,我們有一個Barcode SDK。
LEADTOOLS還能夠將多頁PDF作爲條碼SDK的一部分加載和拆分,因此您可以使用1 SDK來實現您想要的功能。下面是一個小的C#.NET方法,它將基於每個頁面上的QR條碼分割多頁PDF:
static void SplitPDF(string filename)
{
BarcodeEngine barcodeEngine = new BarcodeEngine();
List<int> PageNumbers = new List<int>();
using (RasterCodecs codecs = new RasterCodecs())
{
int totalPages = codecs.GetTotalPages(filename);
for (int page = 1; page <= totalPages; page++)
using (RasterImage image = codecs.Load(filename, page))
{
BarcodeData barcodeData = barcodeEngine.Reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.QR);
if (barcodeData != null) // QR Barcode found on this image
PageNumbers.Add(page);
}
}
int firstPage = 1;
PDFFile pdfFile = new PDFFile(filename);
//Loop through and split the PDF according to the barcodes
for(int i= 0; i < PageNumbers.Count; i++)
{
string outputFile = $"{Path.GetDirectoryName(filename)}\\{Path.GetFileNameWithoutExtension(filename)}_{i}.pdf";
pdfFile.ExtractPages(firstPage, PageNumbers[i] - 1, outputFile);
firstPage = PageNumbers[i]; //set the first page to the next page
}
//split the rest of the PDF based on the last barcode
if (firstPage != 1)
pdfFile.ExtractPages(firstPage, -1, $"{Path.GetDirectoryName(filename)}\\{Path.GetFileNameWithoutExtension(filename)}_rest.pdf");
}