首页 > 编程语言 >php开发中实现客户端扫描文档并保存到服务器端

php开发中实现客户端扫描文档并保存到服务器端

时间:2022-11-21 11:00:12浏览次数:39  
标签:document 服务器端 文稿 base64 扫描 file php data 客户端


项目中需要控制扫描仪器扫描文稿并作为OA系统的附件保存到服务器端,在网页中控制扫描仪使用的是ScanOnWeb控件,实现了客户端通过javascript控制扫描仪扫描文稿,多页文稿全部扫描以后,保存为pdf格式,然后自动提交到php程序中去。

1.引入ScanOnWeb控件

  <input type="hidden" id="picData" name="picData"/>
  <object classid="clsid:15D142CD-E529-4B01-9D62-22C9A6C00E9B" id="scaner1" width="100%" height="600" codebase="../cabs/ScanOnWeb.cab#version=1,0,0,10">
    <param name="Visible" value="0">
    <param name="AutoScroll" value="0">
    <param name="AutoSize" value="0">
    <param name="AxBorderStyle" value="1">
    <param name="Caption" value="scaner">
    <param name="Color" value="4278190095">
    <param name="Font" value="宋体">
    <param name="KeyPreview" value="0">
    <param name="PixelsPerInch" value="96">
    <param name="PrintScale" value="1">
    <param name="Scaled" value="-1">
    <param name="DropTarget" value="0">
    <param name="HelpFile" value>
    <param name="PopupMode" value="0">
    <param name="ScreenSnap" value="0">
    <param name="SnapBuffer" value="10">
    <param name="DockSite" value="0">
    <param name="DoubleBuffered" value="0">
    <param name="ParentDoubleBuffered" value="0">
    <param name="UseDockManager" value="0">
    <param name="Enabled" value="-1">
    <param name="AlignWithMargins" value="0">
    <param name="ParentCustomHint" value="-1">
  </object>

 

2.读取pdf格式多页文稿扫描结果

  var base64_data = document.getElementById('scaner1').allImageAsPDFData;
  document.getElementById('picData').value=base64_data;

  document.forms[0].submit();

 

3.php中保存扫描结果pdf文件到服务器硬盘中

<?php
$file_name = "ajax";
$pic_data=$_POST["picData"];
$real_picture_data=base64_decode($pic_data);

$file=fopen($file_name.$pic_ext,"w");
fwrite($file,$real_picture_data);
fclose($file);
echo "<a href='".$file_name.".pdf'>click here</a>";
?>

 

 

 

标签:document,服务器端,文稿,base64,扫描,file,php,data,客户端
From: https://blog.51cto.com/u_15883582/5873041

相关文章

  • php使用form-create、FormBuilder快捷创建表单
    form-create、FormBuilder不用不知道,一用吓一跳!好用还漂亮说明一下,form-create主要是用于前段的,FormBuilder是大神基于form-create写的能够用php写前端表单的,我在B站也简单......
  • thinkphp漏洞
    thinkphp漏洞参考资料:https://github.com/SkyBlueEternal/thinkphp-RCE-POC-Collection敏感信息THINKPHP3.2结构:Application\Runtime\Logs\Home\16_09_09.logTHINKPHP......
  • 几个 wp-config.php 常量设置
    wp-config.php是WordPress一个最基本也是最重要的配置文件,你可以在这个文件中配置数据库信息,网站语言等等。今天介绍几个你可能不知道的wp-config.php设置选项。文章目......
  • php笔记
    php笔记参考资料https://zeo.cool/2020/12/31/webshell多种方法免杀/https://h3art3ars.github.io/2020/02/27/利用php新特性过静态查杀/函数记录<?phpphpinfo();<%......
  • debian11安装php8
    1、​​https://www.php.net/downloads​​ 下载对应的版本sudowget​​​​https://www.php.net/distributions/php-8.1.12.tar.bz2​​2、tar-zxvfphp-8.1.12.tar.b......
  • centos8 安装php7.4以上版本
    前面找到php因为某些软件对应的不同的版本,前面安装过忘记了后,然后有些忘记了特意记录一下遇见的一些问题 因为没有官方维护的源需要切换源才能进行安装;Centos8(Liu......
  • 学习-bypass-php-FastCGI PHPFPM
    bypass-php-FastCGIPHPFPM参考资料:https://www.anquanke.com/post/id/197745#h3-5PHP突破disable_functions常用姿势以及使用Fuzz挖掘含内部系统......
  • valet7.1php与本地nginxphp5.6切换操作,以及共存
    一、/usr/local/etc/nginx/nginx.conf不注释,用valet启动、停止默认访问本地项目是php5.6访问valet项目是7.1【解释】:因为本地配置的xxx.conf是在nginx/sites-enabled/......
  • php监听redis key失效触发回调事件
    一、需求分析: 1、设置了生命时间的key,过期的时候能不能提示,能够监听过期的key? 2、怎样用redis实现定时任务? 二、应用场景: 在我们程序中经常会有需要定时执行的程序,比如......
  • PHP解析WAYOS 路由 JSON数据
    <?php@header("content-type:text/html;charset=UTF-8");if(isset($_REQUEST['p'])){$p=$_REQUEST['p'];}else{$p='s';}if(isset($_REQUEST['d'])){......