找回密码
 立即注册

QQ登录

只需一步,快速开始

deny2016

中级会员

61

主题

386

帖子

693

积分

中级会员

积分
693

微信认证勋章

deny2016
中级会员   /  发表于:2016-9-26 17:00  /   查看:2999  /  回复:3
版主,传输模式设置为file形式,发现如果一次扫描多张纸,都被保存到指定的文件里(一个文件,不停的覆盖)。这个有没能办法让文件按照文件名自增长的形式改变?

3 个回复

倒序浏览
deny2016
中级会员   /  发表于:2016-9-26 17:13:29
沙发
                case TwainCapabilityValue.TransferMechanismFile:
                    {
                        //RasterImageFormat format = RasterImageFormat.Tif;
                        TwainFileFormat  format1=new TwainFileFormat();
                        string destfilename = string.Empty;
                        CreateDerectory();
                        if (_scanCount == 0)
                            _scanCount++;
                        switch (_scanSet.SaveFileFormat)
                        {
                            case "TIF":
                                {
                                   //format = RasterImageFormat.Tif;
                                    destfilename=Path.Combine(_tempFilePath, (_scanCount++).ToString() + ".tif");
                                    format1=TwainFileFormat.Tiff;
                                    break;
                                }
                            case "bmp":
                                {
                                    //format = RasterImageFormat.Bmp;
                                    destfilename = Path.Combine(_tempFilePath, (_scanCount++).ToString() + ".bmp");
                                    format1=TwainFileFormat.Bmp;
                                    break;
                                }
                            case "jpeg":
                                {
                                    //format = RasterImageFormat.Jpeg;
                                    destfilename = Path.Combine(_tempFilePath, (_scanCount++).ToString() + ".jpg");
                                    format1=TwainFileFormat.Pict;
                                    break;
                                }
                        }


                        try
                        {


                            /* ICAP_IMAGEFILEFORMAT */
                            MySetCapability(TwainCapabilityType.ImageImageFileFormat, TwainItemType.Uint16, (UInt16)format1);
                        }
                        catch
                        {
                           return;
                        }

                        try
                        {
                            TwainProperties twnProps = _twainSession.Properties;
                            TwainDataTransferProperties dataTransfer = twnProps.DataTransfer;

                            dataTransfer.MemoryBufferSize = 1024;
                            dataTransfer.SaveToOneFile = true;
                            dataTransfer.AppendToFile = false;
                            dataTransfer.DumpMemoryBuffersToFile = true;
                            //dataTransfer.SaveToOneFile = true;
                            dataTransfer.FileName = destfilename;
                            dataTransfer.BufferedMemoryCompression = TwainCompressionMode.Group4;
                            dataTransfer.ScanFileFormat = format1;
                            twnProps.DataTransfer = dataTransfer;
                            _twainSession.Properties = twnProps;
                        }
                        catch
                        {
                        }
                        break;
                    }
回复 使用道具 举报
deny2016
中级会员   /  发表于:2016-9-26 17:14:00
板凳
这是我File传输的代码
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-9-26 18:05:41
地板
从代码看文件名称也都自增。你加个断点看一下,是不是扫描多页文件也都是只跑一次这个逻辑。我看不到你是哪里写的这段逻辑。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部