对于电子商务项目,我们需要拍摄数以万计的产品,这些产品都有条形码。为了批量上传照片到商店,并知道哪张照片属于哪种产品,我想到了以下过程:
结果会是这样的照片列表
现在,我正在寻找一个软件来迭代这个列表并创建一个csv文件,其结果如下
barcode | filenames
12312312 | p1.jpg, p2.jpg
42342342 | p3.jpg
31231231 | p4.jpg, p5.jpg
31254234 | p6.jpg, p7.jpg, p8.jpg, p9.jpg
75867867 | p10.jpg, p11.jpg编辑:我对操作系统没有任何限制。它可以是Windows、Linux或MacOS,也可以不考虑某些预算限制。我的意思是,我不认为这项服务非常昂贵,但我也不期望免费软件。
发布于 2019-04-04 16:15:22
由于您提到了一个“电子商务项目”,这可能意味着您可以访问一个程序员。如果是这样的话,您可以使用编程工具包来检查图像中的条形码,并使用代码构建CSV文件。
这样的工具包之一就是LEADTOOLS条形码Pro。免责声明:我是这个工具包供应商的雇员。以下C#代码从图像文件名列表构建CSV文件:
private void CreatePhotoList(string csvName, string[] imageFileNames)
{
System.IO.StreamWriter csv = new StreamWriter(csvName);
csv.Write("barcode,filenames");
for (int i = 0; i < imageFileNames.Length; ++i)
{
RasterImage image = _codecs.Load(imageFileNames[i]);
BarcodeEngine engine = new BarcodeEngine();
BarcodeReader reader = engine.Reader;
var symbologies // specify one or more types of barcodes you want to search for
= new BarcodeSymbology[] { BarcodeSymbology.Code128, BarcodeSymbology.Code3Of9 };
BarcodeData barcode = reader.ReadBarcode(image, LeadRect.Empty, symbologies);
string itemToWrite;
if (barcode == null)
{
itemToWrite = imageFileNames[i];
csv.Write(",");
}
else
{
csv.Write("\n");
itemToWrite = barcode.Value;
}
if (itemToWrite.Contains(",")) //if there's a comma, should enclose in double-quotes
itemToWrite = "\"" + itemToWrite + "\"";
csv.Write(itemToWrite);
}
csv.Close();
}代码使用LEADTOOLS搜索图像中的条形码。如果找到一个,它将启动一个新行并将条形码值写入CSV。如果图像不包含条形码,则假设它属于前一个条形码,则将其名称写入同一行。
如果图像文件名列表的顺序正确(Barcode1、picture1、picture1、Barcode2、picture2等),这应该可以工作。
如果你想试一试,就会有免费评估版的LEADTOOLS,您可以下载。如果您不使用C#编写代码,则工具箱支持其他语言,包括C、C++、VB.NET、Java和Objective。此外,即使在评价期间,技术支助也是免费的。
https://softwarerecs.stackexchange.com/questions/56560
复制相似问题