哥在一个制造业上班,图纸管理是老大难。从去年年底开始,就一直在琢磨着FLASHPAPER如何从服务端打印。看到网上许多哥们有同样经历,斗胆拿出来分享经验。

整体思路:

一) 客户端上传上来文件。

二) 服务端调用flashpaper

实际上进程有:cmd.exe|admimistrator     文件默认打开程序|network service      flashprinter.exe|network service。出现顺序亦按此顺序。

首先,打开CMD,执行命令

接着,默认程序解析文件

最后,打印机打印文件

此处关键点详见第1部分

三) 服务端打印出.swf文件。

此处关键点详见第3部分

四) 由于.swf文件生成耗时较长,客户端需不断检查该文件是否生成,若生成,则打开,否则3S后再检查。检查方法详见第4部分。

------------------------------------------------------------------------------------------------------------------------------------------------

关键点:

1、程序的调用:

关键是在服务端生成一个temp文件,从服务端调用CMD执行此文件,此文件内容为命令。避开权限的限制。

请注意:建议用.net环境。

红色代码为关键代码

<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="system.IO" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title><%=request("holeurl")%></title>

<%
dim but as string
dim url,holeurl
holeurl=Request.QueryString(Server.UrlDecode("url"))
url=Right(cstr(holeurl),Len(cstr(holeurl))-InStr(CStr(holeurl),"/"))
holeurl=Replace(holeurl,"/","\")
response.write (holeurl)
dim cmdtxt =" E:\flashpaper\flashprinter.exe   E:\" & holeurl & " -o  E:\swf\" & url &".swf"

response.write(cmdtxt)
dim tempfile as string=server.MapPath(".") & "\" & "test.txt"
shell("cmd.exe /c " & cmdtxt & " > " & tempfile,,true,20000)
dim myread as new streamreader(tempfile,encoding.default)
but=replace(myread.readtoend,vbcrlf,"<br>")
but=replace(but," "," ")
myread.close
file.exists(tempfile)
file.delete(tempfile)

%>

2、系统环境的配置

这里可以说是全文的核心了吧,很多人都是在这里卡住壳了。

首先,你下的flashpaper 原版的不如绿色的好用...汗!!

给个网址 :http://down.orsoon.com/%CD%BC%CE%C4%B4%A6%C0%ED/Flash%20%C0%B9/0512/FlashPaper.rar

flashpaper绿色版。安装方法里边有。

曾经装了正版的flashpaper,提示flash.ocx不能注册。

请用360卸载了,删注册表。然后装这个盗版的,呵呵。

其次,关于权限的配置。

估计95%的人郁闷都是在这里了。上边的程序写的再正确,也不能正常调用。

解决办法异常简单,请把network service 账户加入administrators组。

没办法,就是这么恐怖。确实比较危险。

修改后别忘重启IIS。

(我在2003下是network service,但是据说XP的好像是 aspnet 。不过给大家个判断方法,从网页上调用下flashpaper,别给参数,就让他在哪儿吭哧吭哧的卡着,这样才能看清楚任务管理器里账户是谁,那么就把这个账户添加到administrators组。)

3、读取生成的SWF文件。

由于.swf文件生成耗时较长,客户端需不断检查该文件是否生成。

像tXt、图片等,生成比较快,越1s,但是WORD、PDF等就比较慢,曾经有章DWG图,原图60M,我的XEON服务器足足编译了半小时。

这里关键是这红色代码。意思是,判断服务端反馈时间,如果反馈时间太长,说明.swf还没生成。

<div align="center">
请耐心等待<span id="BackSecs" style="color: #FF0000;"></span>
</div>
<div align="center">
<img src="img/wait.gif" width="70"  /></div>
<script   language="javascript">
//检测URL是否存在,不存在则延迟并处理,生成文件后告警并跳转。
function countDown(Secs) {
    BackSecs.innerText=Secs;
    if(Secs>0) {
        setTimeout("countDown("+Secs+"-1)",1000);
  
    }
    else {
     getURL("swf/<%= url %>.swf")  
        //
    }
}
function   getURL(url)
{   
          var   xmlhttp   =   new   ActiveXObject("Microsoft.XMLHTTP");   
          xmlhttp.open("GET",url,false);   
          xmlhttp.send();   
          if   (xmlhttp.readyState==4){   
     if(xmlhttp.Status==200){
              alert("解析成功");
     window.location="flash.asp?url="+escape('<%=url%>');
     } else
     countDown(3);
                             }
}
//user   like   this:   
getURL("swf/<%= url %>.swf")   
</script>

4、模板问题。

flashpaper好就好在兼容格式多,特别是office系列。但是打印出来的文件都带个flashpaper图标,还有打印的按键。很不爽

但是,这是可以改变的。

flashpaper安装目录下有个Interface文件夹,里边的文件就是模板-DefaultViewer.swf

每当程序从文件获取信息,形成帧后,外边套的就是这个DefaultViewer.swf。

其作用就相当于瓶子,里边的水就是内容。

不想要图标和按键直接改变模板即可

修改方法

1)反编译DefaultViewer.swf。

推荐工具:硕思闪客精灵

2)使用方法网上一大堆,在反编译出来的fla上,直接删,把什么图标的能换就换,不爽的按钮想删就删。

3)生成新的DefaultViewer.swf,替换原来的

这样,我们局可以定制我们自己喜欢的界面了。

http://www.cnblogs.com/tanjunmail/archive/2010/10/18/1855162.html

flexPaper制作在线文库阅读器思路相关推荐

  1. android 上下滚动文字_计算机毕设项目004之Android系统在线小说阅读器

    计算机毕设项目004之Android系统在线小说阅读器 一. 项目名称 基于Android系统的在线小说阅读器 二. 项目简介 项目中的角色功能: 支持翻页动画:仿真翻页.覆盖翻页.上下滚动翻页等翻页 ...

  2. rss阅读器保存html文件,4款在线RSS阅读器使用体验

    RSS阅读有以下优点:您可以看到没有广告和图片的标题或文章的概要阅读,这样你不必阅读全文即可知文章讲的一个意思是什么,为您节省时间. RSS阅读器会自动更新你定制的网站内容,保持新闻的及时性.要订阅新 ...

  3. 基于ASP.NET AJAX技术开发在线RSS阅读器(下篇)

    五.逻辑层设计 (一)添加RSS频道 在展开真正的逻辑层设计之前,先让我们简单地浏览一下下面的草图4.图4展示了我对于两个重要ASP.NET AJAX客户端控件-ListView和DataSource ...

  4. InoReader—— 轻便快捷的在线 RSS 阅读器

    致鲜果RSS阅读器用户       各位鲜果RSS阅读器用户,很遗憾的通知大家,鲜果团队将在2014年12月12日关闭RSS订阅服务.感谢大家长期以来的支持,希望大家理解我们的这一决定. --题记 图 ...

  5. 微信小程序|基于小程序+C#制作一个电子书阅读器

    文章目录 一.文章前言 二.开发流程 2.1.开发工具 2.2.页面实现 2.3.数据库设计 2.4.API实现 一.文章前言 书籍是人类进步的阶梯,各位小伙伴在使用市面上各类阅读器进行阅读的时候是否 ...

  6. ios 分段 判断 小说阅读器_还在用别的小说阅读器?今天教你用Python制作简易小说阅读器!...

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:Python进阶者 /前言/ 不知从什么时候开始.小说 ...

  7. python写小说阅读器_手把手教你用Python制作简易小说阅读器

    /前言/ 不知从什么时候开始.小说开始掀起了一股浪潮,它让我们平日里的生活不在枯燥乏味,很多我们做不到的事情在小说里都能轻易实现. 今天我们要做的就是一个小说阅读器了,一个可以将你的文章中的字每隔多少 ...

  8. python代码阅读器_还在用别的小说阅读器?今天教你用Python制作简易小说阅读器!...

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:Python进阶者 /前言/ 不知从什么时候开始.小说 ...

  9. android 阅读器放大镜,制作安卓PDF阅读器:四、实现文本选择之放大镜、长按拖动...

    看到一篇知乎上的文章,<这可能是最好用的一款 PDF 阅读.批注工具~如果他称第二,没人敢称第一!>,看了后下载试用,还好.单就触屏体验而言,没他说的那么好听. 这类国产APP的门面都是非 ...

  10. Python 制作《小说阅读器》,源码及打包程序

    小说阅读器的用户界面部分代码: # -*- coding: utf-8 -*-from tkinter import * from tkinter import filedialog import o ...

最新文章

  1. N个免费DevOps开源工具,没用过,至少应该了解!
  2. python词云cannot open resource_centos flask验证码pil提示OSError: cannot open resource,问题解决方法...
  3. Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之12.Servlet基础(2)
  4. CF思维联系–CodeForces - 222 C Reducing Fractions(数学+有技巧的枚举)
  5. ASP.NET Core模块化前后端分离快速开发框架介绍
  6. 利用memcached实现CAS单点登录集群部署
  7. 程序员该如何转型 5G 开发?
  8. ubuntu 打开ssh登陆_Ubuntu开启SSH远程登录
  9. 二分查找-----非递归方式
  10. 盲盒商城app开发需要具备哪些核心功能,盲盒商城app源码成品分享
  11. 关于8266WiFi模块(AT)问题分析与解答(单片机和wifi模块连接)
  12. SpringBoot 错误:Field userService in com.lyh.Controller.UserController required a bean of...
  13. 蓝桥杯练习题之数列特征
  14. 基于区块链的去中心化存储(区块链存储)的工作流程
  15. Ubuntu下安装NS3
  16. 纳米孔Nanopore-16S数据分析学习笔记
  17. 2021年中国定制家具行业现状分析:“量身定制”需求逐年增加[图]
  18. 算法 - 多目标优化的注意点及常用方法概述
  19. (附源码)ssm基于SSM的南昌旅游网站管理系统设计与实现 毕业设计 101407
  20. MP3播放机解码芯片大全

热门文章

  1. 粒子群算法python_用Python实现粒子群算法(PSO)
  2. IT行业常见职位英语缩写及中文释义
  3. 进程杀手 (prockiller)V2.82绿色版
  4. 3dmax 视频全集
  5. 【转载】Oracle关于expdp、impdp以及rman介绍
  6. java oracle数据备份_Java实现Oracle数据库备份
  7. PowerDesign
  8. html 右边是iframe 左右结构_HTML iframe 用法总结收藏
  9. 普中科技51单片机直流电机控制风扇调速
  10. 深度学习之美——M-P神经元模型