找回密码
 立即注册

QQ登录

只需一步,快速开始

ssrs

注册会员

3

主题

16

帖子

107

积分

注册会员

积分
107
最新发帖
ssrs
注册会员   /  发表于:2019-8-11 01:07  /   查看:6311  /  回复:15
本帖最后由 ssrs 于 2019-8-11 17:47 编辑

发现有的tif图片ocr识别后,程序到_ocrDocument.Save(wordFileName, DocumentFormat.Pdf, null);这一步时提示“Leadtools.RasterException”类型的未经处理的异常在 Leadtools.Forms.DocumentWriters.dll 中发生 ,保存pdf失败,但是有些tif图片又可以保存成功,想请教一下,这个如何解决,另外试验的时候保存为doc时全部可以成功,但是我想生成双层pdf需要保存为pdf,请教大神如何解决,谢谢

15 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-8-12 09:09:00
沙发
请将出现问题的tif文件发上来,我需要重现问题,看看原因
回复 使用道具 举报
ssrs
注册会员   /  发表于:2019-8-12 23:16:49
板凳
做试验的时候这两张图片识别后保存为pdf失败,但是保存为word时可以成功,但是识别后的页面比原图片的页数多一张,请教一下,一直不知道什么原因

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
ssrs
注册会员   /  发表于:2019-8-12 23:18:23
地板
Richard.Ma 发表于 2019-8-12 09:09
请将出现问题的tif文件发上来,我需要重现问题,看看原因

由于 上传时不能为tif,我转成jpg了,依然识别保存pdf后报错,新手学习,发现不了问题
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-8-13 12:00:29
5#
不好意思,没有重现问题,可以成功保存,你把demo项目发上来吧,
回复 使用道具 举报
ssrs
注册会员   /  发表于:2019-8-13 21:53:04
6#
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms;
using Leadtools.Forms.DocumentWriters;
using Leadtools.Forms.Ocr;
using Leadtools.ImageProcessing;
using Leadtools.WinForms;
using Leadtools.Forms.Ocr.Advantage;


namespace SampleOcrChinese1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private IOcrEngine _ocrEngine;
        private IOcrDocument _ocrDocument;

        private void Form1_Load(object sender, EventArgs e)
        {
            InitializeComponent();
            // 解锁OCR功能,用您的密钥替换此处   
            string MY_LICENSE_FILE = @"D:\full_license.key\full_license.lic";
            string MY_DEVELOPER_KEY = "************";
            RasterSupport.SetLicense(MY_LICENSE_FILE, MY_DEVELOPER_KEY);
            // 初始化OCR引擎
            _ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Professional, false);
            // 启动OCR引擎
            _ocrEngine.Startup(null, null, null, @"D:\LEADTOOLS 19\Bin\Common\OcrProfessionalRuntime64");
            // 创建文档
            _ocrDocument = _ocrEngine.DocumentManager.CreateDocument();
            //将语言设置为中文简体,中文繁体为"zh-Hant"
            _ocrEngine.LanguageManager.EnableLanguages(new string[] { "zh-Hans" });
            MessageBox.Show("OCR引擎成功启动");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // 启动OCR引擎
            _ocrEngine.Startup(null, null, null, @"D:\LEADTOOLS 19\Bin\Common\OcrProfessionalRuntime64");
            // 创建文档
            _ocrDocument = _ocrEngine.DocumentManager.CreateDocument();
            //将语言设置为中文简体,中文繁体为"zh-Hant"
            _ocrEngine.LanguageManager.EnableLanguages(new string[] {"zh-Hans"});
            MessageBox.Show("OCR引擎成功启动");
        }

        private void button2_Click(object sender, EventArgs e)
        {

            string fileName = @"D:\2.jpg";
            //将包含中文字符的文件添加至OCR文档
            IOcrPage page = _ocrDocument.Pages.AddPage(fileName, null);
            int pageCount = _ocrDocument.Pages.Count;
            // // 显示此页面的相关信息   
            string message = string.Format(
               "共{0}页\n最后添加的页面大小 = {1} * {2}\n分辨率 = {3} * {4}\n每个像素的位数 = {5}\n",
               pageCount,
               page.Width, page.Height,
               page.DpiX, page.DpiY,
               page.BitsPerPixel);
            MessageBox.Show(message);
        }

        private void button3_Click(object sender, EventArgs e)
        {
            // 从OCR文档中移除所有添加的页面
            _ocrDocument.Pages.Clear();
            MessageBox.Show("所有页面已被移除");
        }

        private void button4_Click(object sender, EventArgs e)
        {

           // 识别所有页面
                // 注意,我们不需要调用AutoZone,引擎会检查页面是否被分区,若无,则会自动分区
                _ocrDocument.Pages.Recognize(null);
                // 将结果保存为Word文件
                string wordFileName = @"D:\Result\Result1.pdf";
                _ocrDocument.Save(wordFileName, DocumentFormat.Pdf, null);
                // 显示我们刚刚保存的word文件
                System.Diagnostics.Process.Start(wordFileName);


        }

        private void button5_Click(object sender, EventArgs e)
        {
            // 释放此文档
            _ocrDocument.Dispose();
            // 关闭OCR引擎
            _ocrEngine.Shutdown();
            MessageBox.Show("OCR引擎关闭");
        }
    }
}


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-8-13 22:07:19
7#
好的,明天早上帮你验证
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-8-14 09:47:03
8#
我看你使用的仍然是19版本,你说的这个问题目前在20版本已经修复,请在我们的官网下载最新版来进行测试

https://leadtools.grapecity.com.cn/downloads/?category=main
回复 使用道具 举报
ssrs
注册会员   /  发表于:2019-8-14 22:34:56
9#
本帖最后由 ssrs 于 2019-8-14 22:38 编辑

好的,我下载最新版试验一下,非常感谢,请问这个是什么原因呢
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-8-15 09:15:10
10#
这个应该是产品识别引擎内部的问题造成的,具体原因没有办法确认。但是新版本看起来已经修复了
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部