使用一个名为“Markdown / HTML 内容块”插件,然后在默认编辑器中就可以插入了
作用一:显示pdf
(推荐)在博客中直接插入并显示pdf,请自行修改pdfUrl。推荐,对手机端的兼容性好
<!-- 引入 PDF.js 库 --><script src="//cdn.jsdelivr.net/npm/pdfjs-dist@3.4.120/build/pdf.min.js"></script><!-- 必须配置 Worker 否则报错 --><script>
pdfjsLib.GlobalWorkerOptions.workerSrc =
"//cdn.jsdelivr.net/npm/pdfjs-dist@3.4.120/build/pdf.worker.min.js";
</script>
<!-- 滚动容器(关键!) --><div id="pdf-container" style="overflow-y: auto; max-height: 80vh; border: 1px solid #eee;"><!-- 所有页面 Canvas 动态插入此处 --></div>
<script>
const pdfUrl = "/upload/02-HTML%20%E6%A0%87%E7%AD%BE%EF%BC%88%E4%B8%8A%EF%BC%89.pdf"; // 替换为 Halo 附件库的 PDF URL
const container = document.getElementById('pdf-container');
// 加载 PDF 并渲染所有页
pdfjsLib.getDocument(pdfUrl).promise.then(pdf => {
const scale = 1.5; // 缩放比例(按需调整)
const gap = 20; // 页间距
// 循环渲染每一页
for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {
pdf.getPage(pageNum).then(page => {
// 创建 Canvas 元素
const canvas = document.createElement('canvas');
canvas.className = "pdf-page";
canvas.style.marginBottom = `${gap}px`; // 页间距
container.appendChild(canvas);
// 计算渲染尺寸
const viewport = page.getViewport({ scale });
canvas.height = viewport.height;
canvas.width = viewport.width;
const ctx = canvas.getContext('2d');
// 渲染图像
page.render({
canvasContext: ctx,
viewport
});
// 添加文本层(可选,支持复制文字)
page.getTextContent().then(textContent => {
const textDiv = document.createElement('div');
textDiv.className = 'text-layer';
textDiv.style.position = 'absolute';
textDiv.style.width = `${viewport.width}px`;
textDiv.style.height = `${viewport.height}px`;
container.appendChild(textDiv);
pdfjsLib.renderTextLayer({
textContent: textContent,
container: textDiv,
viewport: viewport
});
});
});
}
}).catch(error => {
console.error("PDF加载失败:", error);
container.innerHTML = `<p style="color:red">PDF加载失败:${error.message}</p>`;
});
</script>
<!-- 文本层基础样式 --><style>
.text-layer {
pointer-events: none; /* 避免遮挡 Canvas */
}
.text-layer > span {
position: absolute;
cursor: text;
transform-origin: 0% 0%;
}
</style>通过插入html的方式,输入下面的<embed>代码,进行插入。移动端显示有问题
<embed src="pdf路径" type="application/pdf" width="100%" height="600px">使用 <iframe> 标签(兼容性强),移动端显示有问题
<iframe
src="你的PDF文件URL"
width="100%"
height="600px"
frameborder="0"
></iframe>示例如下:
作用二:插入html,显示其他地方的文章
通过浏览器的SimpRead简悦插件,可以将其他的地方的文章内容转成markdown,然后通过Typora软件转成html,然后通过在博客中插入该html,达到显示其他地方文章的目的
注意:使用SimRead插件直接导出html,效果不好,测试发现先导出markdown再转html效果最好
示例如下:
本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net
qt 下载安装
1. 下载网址
通过清华大学开源软件镜像站进行下载:链接: https://mirrors.tuna.tsinghua.edu.cn/qt/development_releases/online_installers/
这里我选的是 4.4 版本的,也可以选择 4.7 版本,问题不大。
根据电脑系统选择下载 linux、macOS 和 Windows。这里我选择的是 windows 系统安装教程。
2. 运行安装包
按 Win+R 打开运行窗口,输入 cmd 打开命令框。
将下载好的 qt-unified-windows-x64 安装包拖到命令框中。然后空一格 输入: –mirror https://mirrors.aliyun.com/qt 按回车即可。
注意: 如果直接双击打开安装包,在安装的过程中会出现 “下裁 “https://nirror.sjtu.edu.cn/qt/online/qtsdkrepository/all_os/
qt_patchers/680/2024-06-07-0940_meta.7z” 时出现网络错误: Error transferring
https://nirror.sjtu,edu,cn/qt/online/qtsdkrepository/all os/gt patchers/
680/2024-06-07-0940 meta.7z- server replied: Not Found。” 这样的错误。
3. 注册账号
这里需要用邮箱注册一个账号。我这里之前已经注册过了。
下一步
下一步
下一步
下一步
下一步
接下来就是选择 qt 版本。根据需要进行选择,这里选择的是 5.15.2 版本的。
4. 勾选 qt 版本组件。

(1)MSVC ( Microsoft Visual C++ Compiler ) :微软的 VC 编译器 ,如果需要用到 visual studio,则需要勾选 MSVC。
(2)MingGW (Minimalist GNU for Windows) :是将 GCC 编译器和 GNU Binutils 移植到 Windows 平台下的产物,它是一些头文件和使用 GNU 工具集导入库的集合,允许用户在没有第三方 dll 的情况下生成本地的 Windows 程序。 MSVC 和 MingGW 都是很好用的工具,但兼容并不好,比如某项目使用了 MingGW 编译,那么它所链接的库也必须是 MingGW 编译而成。 一般来说,如果仅在 Windows 平台开发,选择 MSVC,可以使用大量的第三方库。如果有跨平台需求,选择 MingGW。
(3)UWP (Universal Windows Platform) :属于 MSVC 编译器生成的 Qt 库,用于开发通用 Windows 平台的应用程序 。
(4) Android :用于 Android 应用开发的 Qt 库
(5) Sources :源码包 ,如果你需要链接 MySQL 数据库,这个是必选项。
(6)Qt Charts:二维图表模块,用于绘制柱状图、饼图、曲线图等常用二维图表。
(7)Qt Data Visualization:三维数据图表模块,用于数据的三维显示,如散点的三维空间分布、三维曲面等。
(8)Qt Purchasing:用于处理 Android、iOS 和 macOS 上的应用内购买的跨平台 API。
(9)Qt Virtual Keyboard:Qt Quick 虚拟键盘。
(10)Qt WebEngine:集成了 Google Chromium Web,充分利用了整个 Qt 图形堆栈集成,允许原生 Qt 控件与 Web 内容和 OpenGL 着色器的无缝混合和叠加。
(11)Qt Network Authorization:Qt 网络授权是一个附加库,它使 Qt 应用程序能够使用不同的 Web 身份验证系统。
(12)Qt WebGL Streaming Plugin:一个 Qt Platform Abstraction 插件,它通过网络将 Qt Quick & Qt OpenGL 应用程序流式传输到支持 WebGL 的浏览器。
(13)Qt Script (Deprecated) :脚本模块,已弃用。
5. 勾选 Developer and Designer Tools
6. 勾选 Qt Design Studio

选完之后点击下一步。
下一步
开始安装(在此过程中会出现网速非常慢的时候,建议使用科学上网下载)