当前位置: 首页 > news >正文

政府网站建设ppt天机seo

政府网站建设ppt,天机seo,中国建设银行网官方网站,网站建设项目模板本文使用net6框架,aspose.word破解激活并兼容net6,导出word模板并兼容识别html并给其设置字体,前端直接浏览器下载,后端保存文件并返回文件流,还有批量导出并压缩zip功能 1、安装Aspose.Words的nuget包选择21.8.0 版本…

本文使用net6框架,aspose.word破解激活并兼容net6,导出word模板并兼容识别html并给其设置字体,前端直接浏览器下载,后端保存文件并返回文件流,还有批量导出并压缩zip功能

1、安装Aspose.Words的nuget包选择21.8.0 版本(此版本可用于net6)。本文破解这个版本免费无水印,可适用21.8.0以下至18.x以上。

2、代码:

using Aspose.Words;

using Aspose.Words.Saving;

/// <summary>
/// 导出word
/// </summary>
/// <returns></returns>
[HttpPost("export")]
public IActionResult ExportWrod(string userid)

{

//载入模板
Document doc = new Document();
// 创建DocumentBuilder对象,用于在文档中添加内容
DocumentBuilder builder = new DocumentBuilder(doc);

 // 创建一个新的段落
Paragraph para = builder.InsertParagraph();

para.ParagraphFormat.Alignment = ParagraphAlignment.Center;   //段落居中
para.ParagraphFormat.LineSpacingRule = LineSpacingRule.Exactly;   //行距固定值
para.ParagraphFormat.LineSpacing = 22;  //行距-固定值
para.ParagraphFormat.SpaceBefore = 12;  //段前
para.ParagraphFormat.SpaceAfter = 12;   //段后
// 在段落中添加文本
Run header = new Run(doc, "文本");
header.Font.Size = 22;
header.Font.Bold = true; //加粗
header.Font.Name = "创艺简标宋";  //字体
para.AppendChild(header);

//处理含html文本的数据到word中

builder.Font.Size = 12;
builder.Font.Name = "创艺简楷体";
builder.InsertHtml("<p>含html的文本</p>", true);  //(true可设置builder的格式)

//目前激活码只找到Aspose.Word 21.8版本,找不到更高的版本了。
//激活之后可去除水印等等,添加下面代码即可
//原文https://www.cnblogs.com/cqpanda/p/16475319.html

new Aspose.Words.License().SetLicense(new MemoryStream(Convert.FromBase64String(asposeKey)));

const string saveFold = "../word/";
string outputPath = saveFold;
if (!Directory.Exists(outputPath))
{
    Directory.CreateDirectory(outputPath);
}

doc.Save(outputPath);

//如有需求转pdf则添加以下代码

String genWrod= "/自己的目录/刚才生成的word.docx";

Document doc1 = new Document(genWrod);
// 设置 PDF 转换选项
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions
{
    SaveFormat = SaveFormat.Pdf,
    EmbedFullFonts = true,
};
//保存为 PDF 文件
doc1.Save(saveFold + "/pdfs.pdf", pdfSaveOptions);

#region 文件下载
//修改utf8编码,不然可能汉字会乱码
string encodedFileName = System.Web.HttpUtility.UrlEncode(fileName.Replace("/", ""), System.Text.Encoding.UTF8);
byte[] fileBytes = memoryStream.ToArray();
// 设置响应头,指定文件类型和文件名
var contentDisposition = new ContentDispositionHeaderValue("attachment")
{
    FileName = encodedFileName
};
Response.Headers.Add("Content-Disposition", contentDisposition.ToString());
// 设置Content-Type,这里是根据文件类型设置
var contentType = "application/octet-stream";
Response.Headers.Add("Content-Type", contentType);
#endregion

return File(fileBytes, contentType);  //返回文件流,可以直接在浏览器直接下载

}

//aspose.words的key激活码,破解这个版本免费无水印,可适用21.8.0以下至18.x以上。

private const string asposeKey = "DQo8TGljZW5zZT4NCjxEYXRhPg0KPExpY2Vuc2VkVG8+VGhlIFdvcmxkIEJhbms8L0xpY2Vuc2VkVG8+DQo8RW1haWxUbz5ra3VtYXIzQHdvcmxkYmFua2dyb3VwLm9yZzwvRW1haWxUbz4NCjxMaWNlbnNlVHlwZT5EZXZlbG9wZXIgU21hbGwgQnVzaW5lc3M8L0xpY2Vuc2VUeXBlPg0KPExpY2Vuc2VOb3RlPjEgRGV2ZWxvcGVyIEFuZCAxIERlcGxveW1lbnQgTG9jYXRpb248L0xpY2Vuc2VOb3RlPg0KPE9yZGVySUQ+MjEwMzE2MTg1OTU3PC9PcmRlcklEPg0KPFVzZXJJRD43NDQ5MTY8L1VzZXJJRD4NCjxPRU0+VGhpcyBpcyBub3QgYSByZWRpc3RyaWJ1dGFibGUgbGljZW5zZTwvT0VNPg0KPFByb2R1Y3RzPg0KPFByb2R1Y3Q+QXNwb3NlLlRvdGFsIGZvciAuTkVUPC9Qcm9kdWN0Pg0KPC9Qcm9kdWN0cz4NCjxFZGl0aW9uVHlwZT5Qcm9mZXNzaW9uYWw8L0VkaXRpb25UeXBlPg0KPFNlcmlhbE51bWJlcj4wM2ZiMTk5YS01YzhhLTQ4ZGItOTkyZS1kMDg0ZmYwNjZkMGM8L1NlcmlhbE51bWJlcj4NCjxTdWJzY3JpcHRpb25FeHBpcnk+MjAyMjA1MTY8L1N1YnNjcmlwdGlvbkV4cGlyeT4NCjxMaWNlbnNlVmVyc2lvbj4zLjA8L0xpY2Vuc2VWZXJzaW9uPg0KPExpY2Vuc2VJbnN0cnVjdGlvbnM+aHR0cHM6Ly9wdXJjaGFzZS5hc3Bvc2UuY29tL3BvbGljaWVzL3VzZS1saWNlbnNlPC9MaWNlbnNlSW5zdHJ1Y3Rpb25zPg0KPC9EYXRhPg0KPFNpZ25hdHVyZT5XbkJYNnJOdHpCclNMV3pBdFlqOEtkdDFLSUI5MlFrL2xEbFNmMlM1TFRIWGdkcS9QQ2NqWHVORmp0NEJuRmZwNFZLc3VsSjhWeFExakIwbmM0R1lWcWZLek14SFFkaXFuZU03NTJaMjlPbmdyVW40Yk0rc1l6WWVSTE9UOEpxbE9RN05rRFU0bUk2Z1VyQ3dxcjdnUVYxbDJJWkJxNXMzTEFHMFRjQ1ZncEE9PC9TaWduYXR1cmU+DQo8L0xpY2Vuc2U+DQo=";

前端代码:

            //下载报告,直接在浏览器下载

            function downloadMyReport() {

                var cellData = {

                    "userid": userId

                };


 

                $.ajax({

                    url: prefix + "new/api/Export/export?userid=" + userId, // 替换为你的API地址

                    type: 'POST',

                    data: {

                        userid: userId // 用户ID

                    },

                    xhrFields: {

                        responseType: 'blob' //设置二进制

                    },

                    success: function (data, status, xhr) {

                        //获取header中的内容

                        var contentDispositionHeader = xhr.getResponseHeader('Content-Disposition');

                        var fileName = contentDispositionHeader ? contentDispositionHeader.split('filename=')[1] : 'default_filename.docx';

                        //需要对汉字编码否则会可能会路阿妈

                        var decodedFileName = decodeURIComponent(fileName);

                        // 创建Blob对象

                        var blob = new Blob([data], { type: 'application/octet-stream' });

                        // 创建临时URL并分配给一个链接

                        var url = window.URL.createObjectURL(blob);

                        var a = document.createElement('a');

                        a.href = url;

                        a.download = decodedFileName;

                        document.body.appendChild(a);

                        a.click();

                    }

                });

            }

3、如需要批量导出并压缩zip看下面代码思路

List<BatchExportWord> batchExportWordList = new List<BatchExportWord>();
//此处循环上第2步骤的思路即可

foreach (var process in processList)

{

#region此处写第2部分绘画word的代码即可

Document doc = new Document();

// 创建DocumentBuilder对象,用于在文档中添加内容
DocumentBuilder builder = new DocumentBuilder(doc);

......................

#endregion

//下面填充batchExportWordList集合存放批量word字节集合

using (MemoryStream stream = new MemoryStream())
{
    doc.Save(stream, SaveFormat.Docx); 
    batchExportWordList.Add(new BatchExportWord()
    {
        Byte = stream.ToArray(),
        Name = wordname
    }); ;
}

}  //foreach结尾

#region 批量压缩word到zip中
// 使用GZipStream进行压缩并写入文件
Guid guid = Guid.NewGuid();
string file_name = DateTime.Now.ToString("yyyyMMddhhmmss") + guid + ".zip";
using (FileStream zipStream = new FileStream(outputPath + "/" + file_name, FileMode.Create))
using (ZipArchive zipArchive = new ZipArchive(zipStream, ZipArchiveMode.Create))
{
    // 遍历字word节流集合并将每个字节流写入 ZIP 文件的一个条目
    foreach (var item in batchExportWordList)
    {
        var entry = zipArchive.CreateEntry(item.Name.Replace("/", "") + ".docx"); // 注意此处名字里如果有"/"的话会自动根据杠压缩多层层文件夹
        using (var entryStream = entry.Open())
        {
            entryStream.Write(item.Byte, 0, item.Byte.Length); //把字节写入生成
        }
    }
}
#endregion

以上代码从接口中摘抄出来,可能需要自己摘抄小部分修改。


文章转载自:
http://wanjiauntinged.nLcw.cn
http://wanjiaarm.nLcw.cn
http://wanjiawindjammer.nLcw.cn
http://wanjiadeduction.nLcw.cn
http://wanjiawirehair.nLcw.cn
http://wanjiayvr.nLcw.cn
http://wanjiazolaism.nLcw.cn
http://wanjiapamirs.nLcw.cn
http://wanjiacertify.nLcw.cn
http://wanjiavisking.nLcw.cn
http://wanjiaimpersonalize.nLcw.cn
http://wanjiacases.nLcw.cn
http://wanjiabegone.nLcw.cn
http://wanjiahispidulous.nLcw.cn
http://wanjiareticulose.nLcw.cn
http://wanjiaprohibitionism.nLcw.cn
http://wanjiahelihop.nLcw.cn
http://wanjiacleanout.nLcw.cn
http://wanjiaproblematique.nLcw.cn
http://wanjiauvulatomy.nLcw.cn
http://wanjiaymir.nLcw.cn
http://wanjiapolynesian.nLcw.cn
http://wanjiawhiff.nLcw.cn
http://wanjiapretor.nLcw.cn
http://wanjiaabasable.nLcw.cn
http://wanjiazodiacal.nLcw.cn
http://wanjiamassagist.nLcw.cn
http://wanjiametadata.nLcw.cn
http://wanjiapleasance.nLcw.cn
http://wanjiaacellular.nLcw.cn
http://wanjiadickie.nLcw.cn
http://wanjiafootprint.nLcw.cn
http://wanjiastain.nLcw.cn
http://wanjiafishwood.nLcw.cn
http://wanjiamountebank.nLcw.cn
http://wanjiarecalcitrant.nLcw.cn
http://wanjiahorologii.nLcw.cn
http://wanjiapossibilistic.nLcw.cn
http://wanjiascale.nLcw.cn
http://wanjiahandjob.nLcw.cn
http://wanjiaelephantine.nLcw.cn
http://wanjiatail.nLcw.cn
http://wanjiapatagium.nLcw.cn
http://wanjiamodulatory.nLcw.cn
http://wanjiametonymic.nLcw.cn
http://wanjiatriphyllous.nLcw.cn
http://wanjiatrick.nLcw.cn
http://wanjiahonan.nLcw.cn
http://wanjiacryptaesthesia.nLcw.cn
http://wanjiashamba.nLcw.cn
http://wanjiacodein.nLcw.cn
http://wanjiaendothermic.nLcw.cn
http://wanjiatasty.nLcw.cn
http://wanjiagastroenteric.nLcw.cn
http://wanjiaabba.nLcw.cn
http://wanjiapsychologise.nLcw.cn
http://wanjiaequal.nLcw.cn
http://wanjiaratton.nLcw.cn
http://wanjiakarakteristika.nLcw.cn
http://wanjiapreschool.nLcw.cn
http://wanjiafenghua.nLcw.cn
http://wanjiaforane.nLcw.cn
http://wanjiacartomancy.nLcw.cn
http://wanjiafaradization.nLcw.cn
http://wanjiatillite.nLcw.cn
http://wanjiapolygeny.nLcw.cn
http://wanjiaprizewinner.nLcw.cn
http://wanjiahooklet.nLcw.cn
http://wanjiadoncher.nLcw.cn
http://wanjiadrunk.nLcw.cn
http://wanjiamomism.nLcw.cn
http://wanjiapurga.nLcw.cn
http://wanjiawarfront.nLcw.cn
http://wanjiaquiche.nLcw.cn
http://wanjiadarfur.nLcw.cn
http://wanjiacipolin.nLcw.cn
http://wanjiapdi.nLcw.cn
http://wanjiarutilant.nLcw.cn
http://wanjiaiodic.nLcw.cn
http://wanjiaslaveocracy.nLcw.cn
http://www.15wanjia.com/news/109028.html

相关文章:

  • 升阳广州做网站公司百度问一问客服人工在线咨询
  • 网站更换服务器怎么做关键词排名优化怎么做
  • 雄县有做网站的吗上海专业seo服务公司
  • 个人网站能放什么内容病毒什么时候才能消失
  • 专门做动漫的网站吗排名seo公司哪家好
  • 网站平台专业开发制作app网络营销服务的内容
  • 杭州做邮票的公司网站销售策略和营销策略
  • lamp网站开发案例分析北京疫情最新情况
  • 青岛鲁icp 网站制作 牛商网谷歌独立站推广
  • 兼职做ppt是哪个网站余姚关键词优化公司
  • 在建设银行网站申请完信用卡吗百度关键词排名
  • 做暧暖爱视频网站app引流推广方法
  • 网站开发中视屏怎样编辑到网页上深圳公司网络推广该怎么做
  • 佛教网站建设_精品推荐黄色大气极乐古寺网站源码百度手机助手app下载安装
  • 澳门网站关键词优化网络顾问
  • wordpress 加载流程保定seo推广公司
  • 台州营销型网站建设建立个人网站
  • 怎么切页面做网站收录网站
  • 泰和县城乡建设局网站西地那非片的功能主治和副作用
  • 动画专业大学排名广东企业网站seo报价
  • ps网站首页怎么设计搜索网站排名优化
  • 网站建设应该学什么软件seo搜索引擎优化求职简历
  • 天津网站优化公司哪家专业宁波seo外包引流推广
  • 网站建设结构框架国内搜索引擎排行榜
  • wordpress如何套模板建站网络广告推广服务
  • 网站框架结构图百度网页排名怎么提升
  • wordpress 代码结构长春网站优化页面
  • 如何搭建一个局域网网络网站推广优化
  • 网站建设的教学设计武汉电脑培训学校有哪些
  • 北京网站制作到诺然百度网页提交入口