简历生成平台项目开发-STEP4第二次项目例会讨论
时间:2016.7.15周五7点半
地点:图书馆
讨论主题:交流各自手头项目进展,确定下一步任务
内容:按照之前的讨论的任务大家各自汇报进度。
汇报人:谭卓、尹忠诚
内容:1.基于富文本编辑器的模板,用户直接编辑。
~浏览器端生成(貌似不可行)
~直接打印页面(调研如何隐藏页眉页脚,貌似不可行) 见 http://stackoverflow.com/questions/1960939/disabling-browser-print-options-headers-footers-margins-from-page/2780518
富文本编辑器:
以 ckeditor 为例,编辑器可以输出 html 代码,输出的 html 代码可以用来重现编辑器的内容。
有些编辑器编辑效果很好,感觉体验超越了 word。
初步选定 ckeditor,需要阅读其文档:http://docs.ckeditor.com/#!/guide
富文本编辑器实现原理:https://developer.mozilla.org/en-US/docs/Rich-Text_Editing_in_Mozilla
关键字:designMode, contentEditable
2.拿到编辑器输出的 html,有两种方法输出 pdf
服务端PDF生成两个东西:wkhtmltopdf、PhantomJS。
这两个都是基于 webkit 的,能渲染 html,顺便输出 pdf,类似浏览器。
网页端发来编辑器生成的 html,服务端在同样的环境运行页面,把收到的数据(html)填进去,重现出简历页面,输出 pdf。
实验结果显示,PhantomJS 渲染结果更接近真实浏览器,就用它来输出 pdf。
3.如何实现控制A4纸输出
a.HTML/CSS
@page {
size: A4;
margin: 0;
}
@media print {
html {
width: 210mm;
/* 高度比A4小1mm,因为页面可能稍微溢出一点,变成两页纸 */
height: calc(297mm - 1mm);
margin: 0;
}
}
/* html 设成A4大小 */
html {
width: 210mm;
height: calc(297mm - 1mm);
margin: 0;
}
/* 下面两个用于调试 */
/* 黑色框框是A4纸的边界 */
html {
border: 1px solid black;
}
/* 红色框框是简历内容,即A4纸去掉页边距 */
body {
border: 1px solid red;
}
body {
/* 简历页边距在这里设置 */
/* margin: 0cm 1cm 2cm 1cm; */
}
/* the padding and border of that element no longer increase its width */
/* ref http://learnlayout.com/box-sizing.html */
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
简历页面里,CSS 不能用 px 单位,px 是像素,要用 cm、em、% 等能决定实际大小的单位。
引入第三方 CSS 时要注意。
b.PhantomJS
见代码 web2pdf.js
c.wkhtmltopdf
Windows:
wkhtmltopdf -L 0 -R 0 -T 0 -B 0 --page-size A4 --print-media-type --disable-smart-shrinking resume.html out.pdf
Linux:
wkhtmltopdf -L 0 -R 0 -T 0 -B 0 --page-size A4 --zoom 0.78125 --print-media-type --disable-smart-shrinking resume.html out.pdf
汇报人:朱策
根据之前的功能需求,暂时设计网站界面样式如 http://114.214.166.183/index.html 所示。
接下来任务:1.继续深入完成富文本编辑器与网站的融合,初步实现基本功能
2.调研pdf生成对中文字体的支持
3.浏览器端保存简历
4.简历模板库调研
5.技术文档的完善
简历生成平台项目开发-STEP4第二次项目例会讨论的更多相关文章
- Web项目开发介绍及实战项目介绍
引言 本系列课程我们将学些Golang语言中的Web开发框架Iris的相关知识和用法.通过本系列视频课程,大家能够从零到一经历一个完整项目的开发,并在课程中了解实战项目开发的流程和项目设涉及的各个模块 ...
- 简历生成平台项目开发-STEP5初步界面demo实现
谭卓因为暑期实习,去杭州实习了,走之前在git上上传了一些文档(https://github.com/USTC-CV-creator/),项目到目前为止,前端demo已经做好,后台接收请求生成PDF部 ...
- 简历生成平台项目开发-STEP2问卷调查结果统计分析
根据之前设计的调查问卷,截止目前为止,一共收到64份问卷结果.一共16题,分别从基本信息.是否对简历制作有需要.对产品期望的特点和建议采纳四个方面设计问题.下面逐题分析问卷结果: 1.您的性别 可以看 ...
- 简历生成平台项目开发-STEP1问卷设计
周五课程结束完后,小组建立QQ群和微信群,着手讨论项目问题.一开始的大概想法:就业信息平台,收集企业招聘信息和就业生资料,提供给学生和企业的校企对接平台.后来发现群里谭卓同学也有个相关的思路,经过商量 ...
- 简历生成平台项目开发-STEP3第一次项目例会探讨
时间:2016.7.13周三7点半 地点:图书馆 讨论主题:项目需求和功能分析.第一次任务分配 内容:按照之前的讨论,我们认为简历生成功能,不仅要适应学生求职的需求,更多的是要在格式和内容上满足HR的 ...
- JAVAEE 和项目开发(第二课:HTTP协议的特点和交互流程)
HTTP 的概念和介绍 概念:超文本传输协议(Hyper Text Transfer Protocol) 作用:规范了浏览器和服务器的数据交互 特点: 简单快速:客户向服务器请求服务时,只需传送请求方 ...
- 关于QT安装的一些心得(QT551, VS2013)项目开发配置,以及项目结构分析
推荐QT开发的配置如下: 我的硬件配饰中等,所以推荐一下配置: QT551版本,目前QT最新版8.0,为了稳定选择551版本 VS2013IDE, 因为VS2010与VS2013的编译器相同,但是VS ...
- weex 项目开发(四)项目框架搭建 及 自定义 TabBar 组件
1.安装 路由模块 及 状态管理模块 npm install vue-router --save npm install vuex --save 2.自定义 TabBar 组件 src / ...
- 【课程分享】ASP.NET MVC5&微信公众平台整合开发实战(响应式布局、JQuery Mobile,Windows Azure、微信核心开发)
对这个课程有兴趣的,能够联系我QQ2748165793 基础知识储备 ASP.NET MVC 5基础(6讲) 第一讲-初识ASP.NET MVC并搭建整合开发环境 第二讲-深入MVC开发模式 第三讲- ...
随机推荐
- 探索 Linux 系统的启动过程
引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...
- 转-基于NodeJS的14款Web框架
基于NodeJS的14款Web框架 2014-10-16 23:28 作者: NodeJSNet 来源: 本站 浏览: 1,399 次阅读 我要评论暂无评论 字号: 大 中 小 摘要: 在几年的时间里 ...
- MapReduce剖析笔记之八: Map输出数据的处理类MapOutputBuffer分析
在上一节我们分析了Child子进程启动,处理Map.Reduce任务的主要过程,但对于一些细节没有分析,这一节主要对MapOutputBuffer这个关键类进行分析. MapOutputBuffer顾 ...
- Atitit 智能云网络摄像机的前世今生与历史 优点 密码默认888888
Atitit 智能云网络摄像机的前世今生与历史 优点 密码默认888888 用户名admin 密码aaaaaa 网络摄像机是一种结合传统摄像机与网络技术所产生的新一代摄像机,它可以将影像通过网络传 ...
- 基于Caffe的Large Margin Softmax Loss的实现(上)
小喵的唠叨话:在写完上一次的博客之后,已经过去了2个月的时间,小喵在此期间,做了大量的实验工作,最终在使用的DeepID2的方法之后,取得了很不错的结果.这次呢,主要讲述一个比较新的论文中的方法,L- ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(62)-EF链接串加密
系列目录 前言: 这一节提供一个简单的功能,这个功能看似简单,找了一下没找到EF链接数据库串的加密帮助文档,只能自己写了,这样也更加符合自己的加密要求 有时候我们发布程序为了避免程序外的SQL链接串明 ...
- 设计模式(七): 通过转接头来观察"适配器模式"(Adapter Pattern)
在前面一篇博客中介绍了“命令模式”(Command Pattern),今天博客的主题是“适配器模式”(Adapter Pattern).适配器模式用处还是比较多的,如果你对“适配器模式”理解呢,那么自 ...
- ASP.NET MVC 5调用其他Action
引用代码: @Html.Action("Index", "BaseData", new { d = "variety" }) 后台获取参数: ...
- SQL Tuning 基础概述08 - SQL Tuning Advisor
SQL调优顾问 SQL Tuning Advisor的使用案例: 1.构建测试表T 2.定义调整任务 3.修改调整任务参数 4.执行调整任务 5.监控调整任务 6.查看调整任务建议 7.删除调整任务 ...
- CSS学习笔记——包含块 containing block
以下内容翻译自CSS 2.1官方文档.网址:https://www.w3.org/TR/CSS2/visudet.html#strut 有时,一个元素的盒子的位置和尺寸根据一个确定的矩形计算,这个确定 ...