OpenXMl倒出word、PDF
@using MarkdownSharp
@{
    ViewBag.Title = "预览";
    Layout = "~/Views/Shared/_Layout.cshtml";
    var lineText = ViewBag.StrContent;
}
<link href="~/Content/bootstrap.css" rel="stylesheet" />
<link href="~/Content/Index.css" rel="stylesheet" />
<script src="~/Content/marked.js"></script>
<body>
    <ul>
        <li><a href="#" onclick="ExportWord()">导出Word</a></li>
        <li><a href="#" onclick="ExportPdf()">导出PDF</a></li>
    </ul>
    <div class="row home-div-list">
        <div id="content">@Html.Raw(HttpUtility.HtmlDecode(lineText))</div>
    </div>
</body>
<script>
    function ExportPdf() {
        html2canvas($('#contentId'), {
            height: 5000,
            onrendered: function (canvas) {
                var imgData = canvas.toDataURL('img/notice/png');
                var doc = new jsPDF('p', 'px', 'a3');
                //第一列 左右边距  第二列上下边距  第三列是图片左右拉伸  第四列 图片上下拉伸
                doc.addImage(imgData, 'PNG', -9, 0, 650, 1500);
                doc.addPage();
                doc.addImage(imgData, 'PNG', -9, -900, 650, 1500);
                doc.save('test.pdf');
            }
        });
    }
    //$(document).ready(function () {
    //    var regularImages = $('#contentId').find("img");
    //    var canvas = document.createElement('canvas');
    //    var ctx = canvas.getContext('2d');
    //    regularImages.each(function () {
    //        // preparing canvas for drawing
    //        var imgElement = this;
    //        ctx.clearRect(0, 0, canvas.width, canvas.height);
    //        canvas.width = imgElement.naturalWidth;
    //        canvas.height = imgElement.naturalHeight;
    //        ctx.drawImage(imgElement, 0, 0);
    //        var dataURL = canvas.toDataURL();
    //        $(imgElement).attr('src', dataURL);
    //    });
    //    canvas.remove();
    //});
    //function ExportWord() {
    //    var content = $('#contentId').html();
    //    var converted = htmlDocx.asBlob(content);
    //    saveAs(converted, 'aa.docx');
    //}
</script>

OpenXMl倒出word、PDF的更多相关文章

  1. 通用的web系统数据导出功能设计实现(导出excel2003/2007 word pdf zip等)

    前言 我们在做web系统中,导出也是很常用的一个功能,如果每一个数据列表都要对应写一个导出的方法不太现实.现在就想设计一个共通的功能来实现这个导出. 需求分析 在开始之前我们先要明白我们要实现怎样一个 ...

  2. OpenXML操作word

    OpenXML概述 项目中经常需要操作word,之前的方式是采用COM接口,这个接口很不稳定,经常报错.现在开始采用OpenXML.OpenXML(OOXML)是微软在Office 2007中提出的一 ...

  3. OpenXml操作Word的一些操作总结.

    OpenXml操作Word的一些操作总结. OpenXml相对于用MS提供的COM组件来生成WORD,有如下优势: 1.相对于MS 的COM组件,因为版本带来的不兼容问题,及各种会生成WORD半途会崩 ...

  4. web系统数据导出功能设计实现(导出excel2003/2007 word pdf zip等)

    web系统数据导出功能设计实现(导出excel2003/2007 word pdf zip等) 前言 我们在做web系统中,导出也是很常用的一个功能,如果每一个数据列表都要对应写一个导出的方法不太现实 ...

  5. OpenXml读取word内容(一)

    OpenXml读取word内容注意事项 1.使用OpenXml读取word内容,word后缀必须是".docx":如果word后缀是".doc"需要转成&quo ...

  6. OpenXml修改word特定内容

    采用OpenXml来修改word特定内容,如下: word: OpenXml修改word之前: OpenXml修改word之后: 代码: string path = @"C:\Users\A ...

  7. iOS - 开发中加载本地word/pdf文档说明

    最近项目中要加载一个本地的word/pdf等文件比如<用户隐私政策><用户注册说明>,有两种方法加载 > 用QLPreviewController控制器实现 步骤 : & ...

  8. c#上传文件并将word pdf转化成txt存储并将内容写入数据库

    c#上传文件并将word pdf转化成txt存储并将内容写入数据库 using System; using System.Data; using System.Configuration; using ...

  9. OpenXml读取word内容注意事项

    OpenXml读取word内容注意事项 1.使用OpenXml读取word内容,word后缀必须是".docx":如果word后缀是".doc"需要转成&quo ...

随机推荐

  1. myeclipse maven tomcat插件 创建web工程

    自从有了云笔记,很久不写博客了.今天写了使用Freemarker静态化JSP页面,索性就发出来.初学,勿喷. 这篇文字以前放在云笔记里,当然里面有很多借鉴网络上的东西,而自己也使用Maven很久了,索 ...

  2. 百度推出 MIP Baidu Path链接

    在站长将站点 MIP 化时,需要关注 URL 的一共有三个:MIP URL, MIP-Cache URL 以及 MIP Baidu Path. 从 URL 说起 在互联网中,URL 定义页面的地址,每 ...

  3. Spring里的Async注解实现异步操作

    异步执行一般用来发送一些消息数据,数据一致性不要求太高的场景,对于spring来说,它把这个异步进行了封装,使用一个注解就可以实现. 用法 程序启动时开启@EnableAsync注解 建立新的类型,建 ...

  4. 多线程学习系列二(使用System.Threading)

    一.什么是System.Threading.Thread?如何使用System.Threading.Thread进行异步操作 System.Threading.Thread:操作系统实现线程并提供各种 ...

  5. sympy科学计算器

    SymPy库常用函数 简介 本文抄于https://www.cnblogs.com/baby123/p/6296629.html SymPy是一个符号计算的Python库.它的目标是成为一个全功能的计 ...

  6. aps .net MVC单用户登录

    当不允许多用户同时登录一个帐号时,就需要一种机制,当再登录一个相同的帐号时,前面登录的人被挤下线. 原文地址:http://www.cnblogs.com/f23wangj/p/4984302.htm ...

  7. 笔记:Java虚拟机运行时数据区

    Java虚拟机在执行Java程序的过程中会把它管的内存划分为以下若干个不同的区域: 1.程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器:由于Java虚拟机的 ...

  8. 给WEB初学者的一些有效率的建议

    因为IT互联网发展的非常迅速,而web前端这块很火,目前工资水平给的很高,在市场上也是非常的稀缺人才,现在各个行业转行做web前端的很多,今天给大家一些建议,希望新手少走点弯路吧! 建议一:有一个比较 ...

  9. JavaScript 新语法详解:Class 的私有属性与私有方法

    译者按: 为什么偏要用 # 符号? 原文:JavaScript's new #private class fields 译者:Fundebug 本文采用意译,版权归原作者所有 proposal-cla ...

  10. easyui表格自动换行

    表格内容自动换行可以通过设计表格属性  nowrap:false来实现,默认值为true: 但是easyui并未提供,表头自动换行的解决方案,因为一般我们的数据表格列名都是固定的,想换行的话可以通过& ...