使用C#检测.pdf内部的二维码所需的二维码API [英] QR Code API needed to detect QR code inside .pdf using C#

查看:18
本文介绍了使用C#检测.pdf内部的二维码所需的二维码API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有谁知道二维码API可以帮助检测.PDF中的二维码。当发现二维码时,我想拆分.pdf

推荐答案

使用Nuget中的Spire.Pdf和Spire.Barcode。

using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web;

using System.Web.UI;
using System.Web.UI.WebControls;
using Spire.Pdf;
using Path = System.IO.Path;

namespace MyTask
{
    public partial class Index : System.Web.UI.Page
    {

        protected void Page_Load(object sender, EventArgs e)
        {
            GetImages(@"C:UserspraveDesktopmy.pdf", @"C:UserspraveDesktop");
        }

        private static void GetImages(string sourcePdf, string outputPath)
        {
            PdfDocument doc = new PdfDocument();
            doc.LoadFromFile(@"C:UserspraveDesktopmy.pdf");

            for (int i = 0; i < doc.Pages.Count; i++)
            {
                PdfPageBase page = doc.Pages[i];

                System.Drawing.Image[] images = page.ExtractImages();
                outputPath = Path.Combine(outputPath, String.Format(@"{0}.jpg", i));
                foreach (System.Drawing.Image image in images)
                {
                    string QRCodeString = GetQRCodeString(image,outputPath);
                    if (QRCodeString == "")
                    {
                        continue;
                    }

                    break;

                }



            }
        }

        private static string GetQRCodeString(System.Drawing.Image img, string outPutPath)
        {

            img.Save(outPutPath, System.Drawing.Imaging.ImageFormat.Jpeg);
            string scaningResult = Spire.Barcode.BarcodeScanner.ScanOne(outPutPath);
            File.Delete(outPutPath);

            return scaningResult;
        }

这篇关于使用C#检测.pdf内部的二维码所需的二维码API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆