整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

通过html2canvas+jspdf将html页面

通过html2canvas+jspdf将html页面生成PDF下载

里讲一种实现起来比较简单的html转pdf下载的实现。

依赖插件

html2canvas jspdf

思路

通过html2canvas,我们可以将指定的一个dom元素,渲染到canvas中,然后从canva中获得该图片,并将图片通过jspdf来生成。

代码

function createPdf (selector,pagesize,direction,title){
    var key=pagesize +''+direction;
    var settings={
        '00' : {
            pdf : {orientation : 'portrait',format : 'a4',unit : 'px'},
            width : 448,
            height : 632.5
        },
        '01' : {
            pdf : {orientation : 'landscape',format : 'a4',unit : 'px'},
            width : 632.5,
            height : 448
        },
        '10' : {
            pdf : {orientation : 'portrait',format : 'a3',unit : 'px'},
            width : 632.5,
            height : 894.2
        },
        '11' : {
            pdf : {orientation : 'landscape',format : 'a3',unit : 'px'},
            width : 894.2,
            height : 632.5
        }
    };
    var set=settings[key];
    var doc=new jsPDF(set.pdf);
    var arr=[];//根据顺序保存
    var $arr=$(selector);
    function tempCreate(){
        if($arr.length==0){//没有啦
            //执行生成
            tempPdf();
        }else{
            var $dom=$arr.splice(0,1);
            html2canvas($dom[0]).then(canvas=> {
                var dataurl=canvas.toDataURL('image/png');
                arr.push(dataurl);
                tempCreate();
            });
        }
    }
    function tempPdf(){
        arr.forEach((item,i)=>{
            if(i !==0){
                doc.addPage();
            }
            doc.addImage(item,'png',-1,-1,set.width,set.height);//根据不同的宽高写入
        })
        //根据当前的作业名称
        doc.save(title+'.pdf');
    }
    tempCreate();
}

需要指定容器(依赖jquery),然后指定纸张A4或 A3,以及横纵向。

//调用
createPdf('.single-page',0,0,'test')

当然,如果是数据量很大的话,就不建议在前台生成了,最好还是放在后端去做。个人测试过,做A4的图片生成PDF,当数量大约在100左右的时候,浏览器就崩溃了,如果只是几页的数据的话,这个方式还是很方便的。

Ps:浏览器要是现代浏览器哈。

参考资料

html2canvas : http://html2canvas.hertzen.com/ jspdf :https://github.com/MrRio/jsPDF

. CSS3 Patterns Gallery

这18个网站是我在取经路上意外发现的,里面包括 纯CSS 实现的炫酷背景,还有专门制作背景图的网站。 算是取经路上的大补之物~


? 传送门:https://projects.verou.me/css3patterns/

如果你认识 Lea Verou 的话,大概率知道这个网站,她徒手写了几十个 纯CSS 实现的背景图样式。 网站上提供了她的代码。
如果你不认识她,那我一定要推荐你阅读一下 《CSS揭秘(图灵出品)》 这本书,它会让你大受震撼!



2. CSS3 Gradients

? 传送门:http://www.standardista.com/cssgradients/


除了 Lea Verou 的网站外,CSS3 Gradients 也提供了这类示例。同样提供代码下载。



3. CSS Gradients with background-blend-mode

? 传送门:https://bennettfeely.com/gradients/


功能和前面两个差不多,自己点开看看呗~



4. CSS Flags

? 传送门:http://www.standardista.com/CSS3gradients/flags.html


使用 纯CSS 的方式画出多国国旗。“右键 - 检查网页源代码” 可以获取代码。



5. Hero Patterns

? 传送门:https://heropatterns.com/


Hero Patterns 是比较出名网站了,官方提供了几十款纹理,你可以根据自己的需求设置两种对比色和不透明度。 完成后会返回一段CSS代码给你,不过和前面几个网站有点不同的是,Hero Patterns 的背景图使用了 base64 的方式去实现的,而不是 CSS 背景渐变 的方式。



6. HUE.CSS

? 传送门:http://evankarageorgos.github.io/hue/grid.html


使用 CSS 背景渐变 的方式做出的数十款高端大气的背景,网站上的所有案例都提供了代码。



7. Pure CSS Stripes Generator

? 传送门:https://stripesgenerator.com/


Pure CSS Stripes Generator 主要是帮你生成 条纹背景 的代码。 你可以在网站上根据自己的需求设置条纹的颜色、大小、倾斜角度等属性。 最后会返回一段 css 代码给你。



8. Glass Morphism

? 传送门:https://glassgenerator.netlify.app/


Glass Morphism 的功能是设置 毛玻璃背景 样式,你可以在上面手动调节毛玻璃的不透明度、模糊度、背景色等属性。 最后会返回 html 和 css 代码给你。 非常好玩,赶紧去试试吧~



9. uiGradients

? 传送门:https://uigradients.com/


提供了不同色系搭配的渐变代码。如果你不太擅长配色,可以使用 uiGradients



10. Gradient Colors Collection Palette

? 传送门:https://webkul.github.io/coolhue/


Gradient Colors Collection Palette 上有几十个色卡,可以一键复制 css 代码。



11. Fresh Background Gradients

? 传送门:https://webgradients.com/


Fresh Background Gradients 提供了即使个配色方案,有双色的,也有多色的。同样提供一键复制 css 代码。



12. Cool Backgrounds

? 传送门:https://coolbackgrounds.io/


可以生成 5种类型 的背景图片,并且提供多套成熟的配色方案供你选择。 但该网站生成的是背景图片,不是代码。



13. Svg Wave

? 传送门:https://svgwave.in/


生成波浪背景图,可以自定义波浪的幅度、颜色等属性。 支持 SVG 和 PNG 下载。



14. Subtle Patterns

? 传送门:https://www.toptal.com/designers/subtlepatterns/


提供了几十种纹理图。



15. Stripe Generator

? 传送门:http://www.stripegenerator.com/


可配置的条纹背景图片。



16. ZenBG

? 传送门:https://galactic.ink/bg/


在线设置纹理背景和渐变颜色,最后融合在一起生成一张好看的图片。 同时还提供 css 代码给你参考,告诉你如何更好的使用这张图片。



17. Patterninja

? 传送门:https://patterninja.com/


光看图片介绍就知道这个网站好好玩。 Patterninja 帮你生成可平铺的背景图。



18. The Pattern Library

? 传送门:http://thepatternlibrary.com/


提供几十款可平铺的好看背景。 注意:下载按钮在网页的左上角。

载说明:原创不易,未经授权,谢绝任何形式的转载

在这篇文章中,我们将介绍一些最受欢迎的HTML、React、NextJS和Tailwind CSS模板。使用模板来进行项目开发的一个很大的优势是,你可以避免从头开始创建项目,而是使用模板并进行一些微小的调整以适应你的需求。这样可以节省时间,你可以利用这些时间来增强项目的功能。

此外,借助这些模板,你还可以更快地完成工作。让我们现在开始,不再拖延!

原生HTML、CSS 、JavaScript 模板

HTML5 UP

https://html5up.net/

提供了一系列免费的响应式HTML模板。这些模板都具有现代化的设计风格和优雅的布局,适用于各种类型的网站和项目。每个模板都提供了丰富的功能和定制选项,使你能够轻松地创建出令人印象深刻的网站。

你可以在网站上浏览不同的模板,每个模板都有预览图和详细的描述,展示了它的特色和用途。你可以选择一个你喜欢的模板,并下载相应的文件。下载后,你可以根据自己的需求进行修改和定制,以适应你的项目。

无论你是初学者还是有经验的开发者,这些模板都是一个很好的起点。它们提供了一个快速且可靠的方法,让你在项目中使用现成的设计和布局,并根据需要进行个性化调整。

Free HTML web themes

https://www.graphberry.com/category/free-html-web-templates

这个网站提供了一系列免费的HTML网页模板。这些模板经过精心设计,涵盖了各种不同类型的网页需求,包括企业网站、个人简历、博客、电子商务等。

在该网站上,你可以浏览不同的模板分类,并点击查看每个模板的详细信息和预览图。每个模板都提供了下载链接,你可以免费下载所需的文件。这些模板通常包括HTML、CSS和JavaScript等文件,你可以根据自己的需求进行修改和定制。

这些模板的设计风格各不相同,但都注重美观和用户体验。它们提供了一个快速启动网页项目的方式,让你节省时间和精力,无需从头开始构建网页。你可以根据模板进行一些微调和定制,以满足你的具体需求。

对于那些刚刚开始学习前端开发或者需要快速建立网页项目的人来说,这些免费HTML网页模板是一个很好的资源。它们为你提供了一个基础结构,使你能够快速创建出具有吸引力和功能性的网页。

React +Tailwind 模板

每个需求都有免费的现代化React和Tailwind模板

https://treact.owaiskhan.me/

这个合集真是令人惊叹。在这里,你可以找到用TailwindCSS构建的现代化React UI模板和组件,它们不仅轻量、安装迅速,而且易于适应。所有组件都完全响应式,品牌颜色也可以完全自定义。无论是商业用途还是个人使用,都可以免费使用。

React落地页

这是一个简单的落地页,使用Reactjs构建,包含了产品、特点、价格、关于等几个部分。

https://react-landing-page-template-2021.vercel.app/

Nextjs 模板

4+ 免费的 Nextjs 模板

https://www.creative-tim.com/templates/nextjs

36个免费的 Nextjs 模板

这也是一个不错的Next主题、起始模板和模板合集。

https://jamstackthemes.dev/ssg/next/

10个免费的Nextjs模板

https://www.wrappixel.com/templates/category/nextjs-templates/?product_orderby=freebies

Nextjs 模板集合

https://vercel.com/templates

在这些可用选项中搜索你的模板,以加快应用程序的开发速度。这是来自Vercel的一份精彩的Next.js模板合集。在这里,你可以从各种各样的分类中进行选择。

最佳的免费13+个Tailwind CSS模板

https://www.creative-tim.com/templates/tailwind-free

这个Tailwind CSS模板合集非常棒。它们提供了免费的Tailwind CSS UI套件和管理仪表板。你应该去看看。

免费响应式的Tailwind CSS模板

https://themewagon.com/theme-framework/tailwind-css/

这是一个令人惊叹的资源,你可以在这里找到免费的响应式Tailwind CSS组件。通过查看下载这些模板的人数统计,你可以发现它们拥有顶级的管理仪表板和落地页模板。如果你愿意付费,它们也提供付费选项。

20个以上的免费和付费Tailwind CSS模板

https://tailwindtemplates.co/templates

发现并下载2023年最佳的免费和付费Tailwind CSS模板!无论你需要一个落地页、管理仪表板还是一个完整的网页模板,我们都为你提供了高质量且易于使用的设计。Tailwind CSS是一个广受欢迎的基于实用主义的CSS框架,以其模块化和可伸缩的架构脱颖而出。通过遵循样式的自然顺序,它能够避免传统CSS中的混乱代码。使用Tailwind,你不再需要担心浏览器兼容性或错误,它为你简化了编码和设计过程。通过我们的Tailwind CSS模板,将你的网站提升到新的水平!

Tailwind组件


在你的项目或落地页中使用这些内置的开源Tailwind UI模板和组件,可以节省时间。现有超过600个免费的模板和组件可供使用。

https://tailwindcomponents.com/

tailwind Awesome | 免费的Tailwind模板

https://www.tailwindawesome.com/?price=free&type=template

这个网站真是令人难以置信。我相信如果你在那里搜索,你肯定会找到你所需的模板。无论你需要电子商务、个人作品集、创业落地页还是管理仪表板,他们都有大量可用的模板。

落地页模板

每周,你都会获得一个使用React、Next JS和Gatsby JS开发的免费落地页模板。他们的落地页非常出色。如果你正在寻找落地页,不妨去看一看。

https://startuplanding.redq.io/

结束

由于文章内容篇幅有限,今天的内容就分享到这里,文章结尾,我想提醒您,文章的创作不易,如果您喜欢我的分享,请别忘了点赞和转发,让更多有需要的人看到。同时,如果您想获取更多前端技术的知识,欢迎关注我,您的支持将是我分享最大的动力。我会持续输出更多内容,敬请期待。