23-页面预览-页面预览开发

在cms服务需要集成freemarker:

1、在CMS服务中加入freemarker的依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>

2、在application.yml配置freemarker

  freemarker:
    cache: false  #关闭模板缓存,方便测试
    settings:
      template_update_delay: 0

在这里插入图片描述

创建页面预览控制器

在这里插入图片描述

package com.xuecheng.manage_cms.controller;

import com.xuecheng.framework.web.BaseController;
import com.xuecheng.manage_cms.service.PageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import javax.servlet.ServletOutputStream;
import java.io.IOException;

/**
 * @author Administrator
 * @version 1.0
 * @create 2018-09-15 16:20
 **/
@Controller//注意:这里不是@RestController,因为我们这里最终要显示html内容而不是json数据,所以用@Controller
//BaseController是common包的一个基础类,提供了request和response
public class CmsPagePreviewController extends BaseController {

    @Autowired
    PageService pageService;

    //页面预览
    @RequestMapping(value="/cms/preview/{pageId}",method = RequestMethod.GET)
    public void preview(@PathVariable("pageId") String pageId) throws IOException {
        //执行静态化
        String pageHtml = pageService.getPageHtml(pageId);
        //通过response对象将内容输出
        ServletOutputStream outputStream = response.getOutputStream();

        outputStream.write(pageHtml.getBytes("utf-8"));

    }
}

访问http://localhost:31001/cms/preview/5a795ac7dd573c04508f3a56/#/
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`docx-preview`通常是一个工具或库,用于在静止状态(即静态环境)下预览`.docx`文档的内容。这种预览功能允许用户在无需打开完整的Microsoft Word或其他兼容软件的情况下,快速查看文档的基本信息、标题、图像、表格和其他元素。 ### `docx-preview`的功能 1. **内容浏览**:预览可以显示文档的大纲结构、标题层次、图片缩略图、文本段落等,提供对文档整体布局的初步了解。 2. **数据提取**:某些`docx-preview`工具可能能够提取文档的关键信息,如文档创建日期、作者姓名、特定页面或章节的文字摘要等。 3. **安全性考量**:在静默环境中预览文档有助于保护敏感信息的安全,避免在未授权情况下公开展示敏感内容。 4. **集成便利**:这类工具往往易于集成到现有应用或脚本中,便于自动化处理文档预览任务。 ### 使用场景 - **在线服务**:例如,在线存储服务或协作平台可能会利用`docx-preview`来提供预览功能,让用户可以在浏览器内查看文档。 - **报告生成系统**:自动化报告系统可能需要在生成最终PDF或电子邮件之前预览Word文档的内容。 - **数据分析工具**:在进行大数据分析时,可能需要快速扫描大型Word文档集以获取大致信息概览,此时`docx-preview`非常有用。 ### 实现方法 为了在你的项目中集成`docx-preview`功能,你可以: 1. **查找合适的库**:在GitHub上搜索“Python docx preview”、“JavaScript docx viewer”等关键词,找到相关的开源库或应用程序。 2. **安装依赖**:如果选择的是库,则按照指示安装所需的Python包管理器命令(如pip),或者在前端项目中添加相应的npm或Yarn命令。 3. **配置使用**:根据所选库的文档说明,将所需代码片段嵌入你的项目中,设置预览选项(如是否显示所有页面、是否提取元数据等)。 4. **测试验证**:确保预览功能按预期工作,并适配不同的文档格式版本以及特殊字符、编码等问题。 ### 相关问题: 1. **如何优化`docx-preview`加载速度?** - 确保使用的`docx`解析库支持流式读取和部分加载文档。 - 避免一次性加载整个文档内容,而是只加载当前预览视图所需的部分。 - 对于大型文件,考虑使用分页预览机制。 2. **如何处理非标准或损坏的.docx文件?** - 使用错误检测机制识别并报告无法预览的文件。 - 提供替代方案或提示用户尝试其他方法打开文件。 3. **如何实现跨平台的.docx预览支持?** - 根据目标平台选择合适的开发语言和库。 - 使用平台独立的解决方案,如Web技术,确保在不同操作系统和设备上的兼容性和一致性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值