首页 > 其他分享 >一步步教你如何使用福昕低代码平台(四):通过InsCode发布第一个福昕低代码应用-Word2PDF

一步步教你如何使用福昕低代码平台(四):通过InsCode发布第一个福昕低代码应用-Word2PDF

时间:2024-12-17 20:32:07浏览次数:5  
标签:const data 代码 Word2PDF 福昕 document InsCode

这个文章严格说,并不完全是福昕低代码平台的介绍。为什么写这个文章呢?
主要是我要找一个比较容易的方式让大家方便的去尝试,同时也可以最低门槛的可以对外发布web服务。

先看看下面的演示,直接运行即可:

<iframe allowfullscreen="allowfullscreen" frameborder="no" height="500px" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" scrolling="no" src="https://inscode.csdn.net/@lzfly/FoxitCloudAPIsStuido/embed" width="100%"></iframe>
运行后,点击打开网页,也可以在web浏览器中体验web服务

虽然之前就看到InsCode但是,从来没有去试过,哈看起来有点跟不上时代潮流了!简单介绍下什么是InsCode.
“InsCode” 是一个一站式的软件开发服务平台,它集成了从开发到部署再到运维和运营的全流程服务。InsCode 的 “Ins” 代表 “Inspiration”,即创作和寻找有灵感的代码。InsCode 提供了云端开发环境(Cloud IDE),允许开发者通过浏览器进行编程,无需下载安装,不受硬件和环境的限制。此外,InsCode 内置了 AI 辅助编程功能,可以实现添加注释、解释代码、完成代码、寻找错误、优化代码、添加测试和代码提问等 AI 功能
InsCode AI IDE 第一次发布是在 2024 年 12 月 4 日,在北京举行的 AI 产品榜·年度大会暨中国 AI 年度产品颁奖仪式上正式面向公众发布.

关于InsCode

发现InsCode,在写blog的时候看到运行代码的菜单,
Ins入口
点击运行代码:就弹出如下对话框
我的入口
InsCode的官方地址是:https://inscode.csdn.net/
创建一个新项目

创建InsCode项目

我选择HTML-CSS-JS模版来创建项目
创建项目
项目创建中:
项目创建中
创建完成后如下图:
我们可以看到,完成创建
我们可以看到InsCode生成了一个模版项目,现在我快速的把一个Word2PDF的Web服务加入,具体工作流创建流程请参考PDF处理的创新工具:福昕低代码平台尝鲜实现word2PDF功能.

低代码平台准备工作

创建工作流

因为前面的文章有详细介绍看,这里仅截图工作流以及属性
工作流图

特别注意文件属性是:$TriggerHttp_1.result.output.doc,前端设置的key为doc

CreatePDF

createPDF组件

Preview PDF

PreivewPDF组件

DownloadPDF组件

DownloadPDF组件
保存运行
运行工作流

InsCode项目代码编写

做一个很简单的模版,因此我就直接小修改下copy到默认模版了

index.html

直接复用他的模版, 我把index.html的内容修改如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="style.css" rel="stylesheet" type="text/css" />
    <title>福昕低代码平台</title>
</head>
<body>
    <img src="https://cloudapi.foxitsoftware.cn/_next/static/media/logo.9cf4e02c.svg" >
    <h2>福昕低代码平台示例-Word2PDF带预览</h2>
    <form id="uploadForm">
        <input type="file" id="fileInput" accept=".doc,.docx" required>
        <button type="submit">下载转换结果</button>
    </form>
    <div id="message"></div>
    <iframe id="pdf-preview" style="width: 600px; height: 800px; border: 1px solid #ddd; border-radius: 4px; display: none;"></iframe>
    
    </div>
    <script src="script.js"></script>
</body>
</html>

这里几个点,我删除了他默认的log,然后加上了福昕的logo

logo地址我直接从福昕官网copy的

   <img src="https://cloudapi.foxitsoftware.cn/_next/static/media/logo.9cf4e02c.svg" >

调用的js脚本的文件做了修改如下:

    <script src="script.js"></script>

这样的html页面展示如下:
在这里插入图片描述

script.js

继续,我把upload.jscopy到script.js的文件

document.getElementById('uploadForm').addEventListener('submit', function(event) {
    event.preventDefault(); // 阻止表单的默认提交行为

    const fileInput = document.getElementById('fileInput');
    const messageDiv = document.getElementById('message');
    const file = fileInput.files[0];
    if (file) {
        let formData = new FormData();
        formData.append('doc', file);
        fetch('https://cloudapis-studio.foxitsoftware.cn/studio-server/api/fbp/trigger?workflowId=21686182-a792-4d80-88c2-43efd792bda2', {
            method: 'POST',
            body: formData,
        })
            .then(response => response.json())
            .then(data => {
                console.log('Success:', data);
                const downloadUrl = data.data.payload.find(item => item.nodeId === 'DownloadPDF_4').result.url;
                const previewUrl =  data.data.payload.find(item => item.nodeId === 'PreviewPDF_3').result.url;
                // 设置 iframe 的 src 属性为提取到的 URL
                const iframe = document.getElementById('pdf-preview');
                iframe.src = previewUrl;
                iframe.style.display = 'block';
                if (downloadUrl) {
                    const encodedUrl = encodeURI(downloadUrl); // 对URL进行编码
                    const a = document.createElement('a');
                    a.style.display = 'none';
                    a.href = encodedUrl;
                    a.download = decodeURIComponent(encodedUrl.split('/').pop()); // 使用原始文件名
                    document.body.appendChild(a);
                    a.click();
                    window.URL.revokeObjectURL(encodedUrl);
                    messageDiv.textContent = '文件下载成功!';
                    messageDiv.style.color = 'green';
                }else {
                    messageDiv.textContent = '没有找到下载文件的URL!';
                    messageDiv.style.color = 'red';
                }
            })
    }
});

好,完成点击运行,可以看到已经可以了,这个http地址是临时可用的

运行

运行

发布

点击发布按钮,设置好项目信息,我设置如下:
发布
点击发布,到设置就发布啦!
发布

你还可以在你的CSDNblog中同步发布!
如果你做了实名认证,就可以直接部署你的作品了,我还没尝试,后面再说!
部署
注意,审核需要时间哦!
在这里插入图片描述
运行下面的代码看看吧!

<iframe allowfullscreen="allowfullscreen" frameborder="no" height="500px" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" scrolling="no" src="https://inscode.csdn.net/@lzfly/FoxitCloudAPIsStuido/embed" width="100%"></iframe>

标签:const,data,代码,Word2PDF,福昕,document,InsCode
From: https://blog.csdn.net/lzfly/article/details/144448830

相关文章

  • DL00336-基于多种机器学习模型的新能源电池寿命预测完整代码含数据集
    随着新能源技术的迅速发展,电池作为核心组件在电动汽车、储能系统等领域的应用日益广泛,电池寿命预测成为关键技术之一。传统的电池寿命预测方法依赖于物理模型和经验公式,但这些方法无法有效应对电池老化过程中的复杂性与非线性特征。机器学习,尤其是基于多种模型的集成方法,能够从大......
  • 超好看且实用的css特效悬停圆饼按钮效果代码
    下面这段CSS按钮特效代码适用于多个现代数字设计和用户交互领域,主要涵盖以下几个方面:社交媒体平台:由于代码中包含了针对Instagram、Twitter等社交媒体平台的图标和配色,这些特效按钮可以无缝融入社交媒体应用或网站中,提升用户互动体验。个人或企业网站:对于希望展示其社交媒体链......
  • rust可以和C语言程序使用grpc进行通信吗? rust是客户端,C是服务端。 如果可以的话,举一个
    是的,Rust可以与C语言程序通过gRPC进行通信。gRPC是一个语言中立的通信框架,支持多种语言之间的互操作,包括Rust和C。关键步骤概述:定义gRPC接口(.proto文件):定义服务端和客户端之间的接口。C服务端实现:使用C语言实现服务端,处理客户端的请求。Rust客户端实现:使......
  • 如何将本地代码上传到GitLab
    一、在Gitlab上新建仓库1、创建新的群组,新建项目,点击创建空白项目。    2、创建完成后,可以项目中查看到你所创建的新项目。3、最好把README.md文件删除,不然后续push代码会冲突。二、在本地创建项目,并关联gitlab上传1、打开本地需要上传的代码所在的文件夹,右键选......
  • 题解:牛客周赛 Round 72(A-D)(E只有代码)
    先附上补题链接,没打的同学可以来补一下:https://ac.nowcoder.com/acm/contest/98256A小红的01串(一)题意找到一个01串中相邻字符不同的对数做法从头到尾扫一遍,计算前后不一样的字符就可以了#include<bits/stdc++.h>signedmain(){std::ios::sync_with_stdio(false)......
  • 好,我们以你的 `euclidolap.proto` 文件为例,调整代码结构,让服务逻辑更清晰,同时将 `eucl
    好,我们以你的euclidolap.proto文件为例,调整代码结构,让服务逻辑更清晰,同时将euclidolap模块分离到独立文件中。假设文件结构调整我们将euclidolap.proto生成的代码放到src/euclidolap模块中,同时将服务端逻辑分开组织。最终文件结构如下:project/├──build.rs......
  • Vue实现3D卡片效果,几行代码搞定,旋转、立体、自定义组件、嵌套任意内容
    文章目录效果预览1.组件结构2.脚本部分(`<script>`)属性(`props`)数据(`data`)方法(`methods`)生命周期钩子(`mounted`)3.样式部分(`<stylescoped>`)实现思路总结完整代码[高清壁纸,古风美女,萌趣表情包,创意视频,唯美图片https://coder4j.com/](https://coder4j......
  • Prime/Kruskal算法的伪代码描述
    https://wenku.csdn.net/answer/950d58e43a8340899c2ccf14ae4c494bPrime:添加点,基于邻接矩阵//LuoguP3366【模板】最小生成树#include<iostream>#include<cstring>#include<algorithm>#include<vector>#defineinf1e9usingnamespacestd;intn,m,a......
  • github克隆代码报错
    报错一:gitclonehttps://github.com/PanJiaChen/vue-admin-template.git报错Cloninginto'vue-admin-template'...fatal:unabletoaccess'https://github.com/PanJiaChen/vue-admin-template.git/':Failedtoconnecttogithub.comport443after......
  • 安装蚁剑初始化报错:代码解压完成报错:[object Object]
    1.安装蚁剑时候让提示初始化一下,就跟着操作进行了初始化,一直加载发现到最后报错了。显示[objectObject]。2.解决方法一 关闭所有的防火墙,关闭一些杀毒软件等等。如果开启的状态会影响蚁剑的初始化。3.解决方法二权限不够,可以右键管理员身份运行,然后等待初始化完成就可以......