rizmDoc是最快速、最有品质的HTML5文档查看器,提供安全的、全定制化的查看和协作功能。它通过一个简单部署的机制减少成本,降低安全风险和提高生产率。同时,它是基于服务器的查看器,消除了不必要的许可和下载。
PrizmDoc发布v12.2新版本,为Viewing客户端和PrizmDoc服务器添加了新功能。
现在,你可以在任何内容显示之前以编程的方式设置Viewing客户端的初始缩放等级。
addMarkFromSearchResult API已添加到ViewerControl,允许从搜索结果中添加文本标记。并将搜索结果快速转换成标记。
我们已采取措施使Viewing客户端中可以支持内容安全策略(CSP)。有关其他详细信息,请联系客服。
电子签名改进
支持在文本框中添加输入掩码。你可以要求签名者在文本框中填入特定信息,例如电话号码、社会安全号码、日期、邮政编码或者型号。
字段现在可以在Template Designer中标记为“只读”。如果字段被标记为“只读”,则无法在Signing Module中进行修改。这在数据以编程方式填充并且开发人员不希望用户修改字段的情况下非常有用。
selectEditorText API已添加到ViewerControl中,以允许在标记的文本编辑器中选择可编辑的文本。
添加了允许在Signing Module中设置/获取填写数据的API。这可以让你轻松地为特定场景设置这些数值。
现在,你可以用编程方式取消长时间运行的搜索任务,例如在非常大的文档中搜索。
内容转换服务现在支持转换受密码保护的PDF和Office文档。
两个新的中央配置参数现在可用于定义查看CAD文档的背景颜色:
fidelity.vectorBackgroundColor.view.default - 可用于那些在文档中未指定背景(除了DGN以外的大多数CAD文件)的CAD案例
fidelity.vectorBackgroundColor.view.override - 可以在想要忽略文档中指定的背景颜色时使用
内容转换服务现在在转换文档时会报告更加详细的“percentComplete”状态(以前它只报告0%和100%)。
Accusoft为开发人员提供一个文档和图像工具的强劲组合。我们的api和软件开发工具包是使用专利技术构建的,提供高性能的文档查看、高级搜索、图像压缩、转换、条码识别、光学字符识别(OCR)和其他用于应用程序和web开发的图像处理工具。
查看更新原文:PrizmDoc v12.2
TML5 文件上传下载的实例代码,WEBUPLOADER之大文件分段上传、断点续传,HTML DOM INPUT FILE 大文件上传源代码,B/S大附件上传,支持断点续传,VUE处理文件流实现上传下载,VUE 上传大型文件插件(VUE上传视频插件)
之前在网上也搜索过相关的资料,在论坛里面也与网络交流过,但是给出的方案都不太令人满意。一方面论坛里面的网页都没有真实的项目经验。几乎大部分的网页都是在纸上谈兵,很多问题完全是凭想象在回答。也不能够提供真实案例,基本上都没有项目的实战经验。
甚至有些学生也在里面不知道从哪里复制的一些代码然后粘贴在上面。
后端PHP5,PHP6,PHP7,PHP8,ThinkPHP,
服务器支持Linux,Windows,macOS,CentOS,中标麒麟,银河麒麟,统信,龙芯,华为鲲鹏,
数据库支持MySQL,达梦数据库,人大金仓
需要提供前端源码,后端源码,控件源码
需要提供7*24小时技术支持,长期技术支持,长期维护服务
需要提供手机,QQ,微信,企业微信,电子邮箱等联系方式
需要支持包含IE在内的全部浏览器
终端需要支持Windows,macOS,Linux,信创国产化环境,中标麒麟,银河麒麟,统信UOS,龙芯,华为
功能需要支持10G,50G,100G大文件上传和断点续传,刷新续传,重启续传
文件夹包含1W,10W,100W个文件和层级结构
支持超大文件分片,分段,分块,分割上传下载,断点续传
支持文件夹上传,下载断点续传,支持文件夹层级结构,层级结构信息保存到数据库,下载的时候同样保留层级结构
支持加密上传,下载加密,端到端加密,国密SM4加密算法,数据加密传输,传输过程中要保证数据是加密的。1.下载示例
https://gitee.com/xproer/up6-vue-cli
将up6组件复制到项目中
示例中已经包含此目录
1.引入up6组件
2.配置接口地址
接口地址分别对应:文件初始化,文件数据上传,文件进度,文件上传完毕,文件删除,文件夹初始化,文件夹删除,文件列表
参考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de
3.处理事件
启动测试
启动成功
效果
数据库
源码工程文档:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra
源码报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl
OEM版报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a
控件源码下载:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc
ips:喜欢的话可以关注小萌哦~~~
今天小萌给大家推荐的一个开源Java Restful API 文档生成工具,一加【oneplus】、iflytek都在用。所以,自然差不了。
smart-doc 是一个 java restful api 文档生成工具,smart-doc 颠覆了传统类似 swagger 这种大量采用注解侵入来生成文档的实现方法。 smart-doc 完全基于接口源码分析来生成接口文档,完全做到零注解侵入,你只需要按照java标准注释的写,smart-doc 就能帮你生成一个简易明了的 Markdown、Html、AsciiDoc 文档。
如果你已经厌倦了 swagger 等文档工具的无数注解和强侵入污染,smart-doc是不错的选择!
smart-doc 1.7.7
https://gitee.com/sunyurepository/smart-doc
1、Getting started
# git clone https://gitee.com/sunyurepository/api-doc-test.git
你可以启动这个Spring Boot的项目,然后访问http://localhost:8080/doc/api.html来浏览smart-doc生成的接口文档。
2、Dependency
<dependency>
<groupId>com.github.shalousun</groupId>
<artifactId>smart-doc</artifactId>
<version>1.7.7</version>
<scope>test</scope>
</dependency>
3、Create a unit test
通过运行一个单元测试来让Smart-doc为你生成一个简洁明了的api文档。
public class ApiDocTest {/**
* 包括设置请求头,缺失注释的字段批量在文档生成期使用定义好的注释
*/
@Test
public void testBuilderControllersApi() {ApiConfig config=new ApiConfig();
config.setServerUrl("http://localhost:8080");//true会严格要求注释,推荐设置true
config.setStrict(true);
//true会将文档合并导出到一个markdown
config.setAllInOne(false);
//生成html时加密文档名不暴露controller的名称
config.setMd5EncryptedHtmlName(true);
//指定文档输出路径
//@since 1.7 版本开始,选择生成静态html doc文档可使用该路径:DocGlobalConstants.HTML_DOC_OUT_PATH;
config.setOutPath(DocGlobalConstants.HTML_DOC_OUT_PATH);
// @since 1.2,如果不配置该选项,则默认匹配全部的controller,
// 如果需要配置有多个controller可以使用逗号隔开
config.setPackageFilters("com.power.doc.controller");//不指定SourcePaths默认加载代码为项目src/main/java下的,如果项目的某一些实体来自外部代码可以一起加载
config.setSourceCodePaths(
//自1.7.0版本开始,在此处可以不设置本地代码路径,单独添加外部代码路径即可
// SourceCodePath.path().setDesc("本项目代码").setPath("src/main/java"), SourceCodePath.path().setDesc("加载项目外代码").setPath("E:\ApplicationPower\ApplicationPower\Common-util\src\main\java"));
//since 1.7.5
//如果该选项的值为false,则smart-doc生成allInOne.md文件的名称会自动添加版本号
config.setCoverOld(true);
//since 1.7.5
//设置项目名(非必须),如果不设置会导致在使用一些自动添加标题序号的工具显示的序号不正常
config.setProjectName("抢购系统");//设置请求头,如果没有请求头,可以不用设置
config.setRequestHeaders(
ApiReqHeader.header().setName("access_token").setType("string").setDesc("Basic auth credentials"), ApiReqHeader.header().setName("user_uuid").setType("string").setDesc("User Uuid key"));
//对于外部jar的类,编译后注释会被擦除,无法获取注释,但是如果量比较多请使用setSourcePaths来加载外部代码
//如果有这种场景,则自己添加字段和注释,api-doc后期遇到同名字段则直接给相应字段加注释
config.setCustomResponseFields(
CustomRespField.field().setName("success").setDesc("成功返回true,失败返回false"), CustomRespField.field().setName("message").setDesc("接口响应信息"), CustomRespField.field().setName("data").setDesc("接口响应数据"), CustomRespField.field().setName("code").setValue("00000").setDesc("响应代码"));
//设置项目错误码列表,设置自动生成错误列表,
List<ApiErrorCode> errorCodeList=new ArrayList<>();
for (ErrorCodeEnum codeEnum : ErrorCodeEnum.values()) {ApiErrorCode errorCode=new ApiErrorCode();
errorCode.setValue(codeEnum.getCode()).setDesc(codeEnum.getDesc());
errorCodeList.add(errorCode);
}
//如果没需要可以不设置
config.setErrorCodes(errorCodeList);
//非必须只有当setAllInOne设置为true时文档变更记录才生效,https://gitee.com/sunyurepository/ApplicationPower/issues/IPS4O
config.setRevisionLogs(
RevisionLog.getLog().setRevisionTime("2018/12/15").setAuthor("chen").setRemarks("测试").setStatus("创建").setVersion("V1.0"), RevisionLog.getLog().setRevisionTime("2018/12/16").setAuthor("chen2").setRemarks("测试2").setStatus("修改").setVersion("V2.0"));
//since 1.7.5
//文档添加数据字典
config.setDataDictionaries(
ApiDataDictionary.dict().setTitle("订单状态").setEnumClass(OrderEnum.class).setCodeField("code").setDescField("desc"), ApiDataDictionary.dict().setTitle("订单状态1").setEnumClass(OrderEnum.class).setCodeField("code").setDescField("desc"));
long start=System.currentTimeMillis();
ApiDocBuilder.builderControllersApi(config);
//@since 1.7+版本开始,smart-doc支持生成带书签的html文档,html文档可选择下面额方式
//HtmlApiDocBuilder.builderControllersApi(config);
//@since 1.7+版本开始,smart-doc支撑生成AsciiDoc文档,你可以把AsciiDoc转成HTML5的格式。
//@see https://gitee.com/sunyurepository/api-doc-test
//AdocDocBuilder.builderControllersApi(config);
long end=System.currentTimeMillis();
DateTimeUtil.printRunTime(end, start);
}
}
4、接口头部效果图
5、请求参数示例效果图
6、响应参数示例效果图
看过示例之后是不是想要有替换swagger的冲动?别着急,swagger虽然耦合很严重,但是这个也直接避免了一些懒惰的开发人员改接口不改注释的习惯。
*请认真填写需求信息,我们会在24小时内与您取得联系。