打印
[AT32F423]

【AT-START-F423测评】通过U盘导出PDF文件

[复制链接]
1903|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aple0807|  楼主 | 2023-11-12 12:44 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
AT32F423包含一个USB HOST外设,评估板也引出了USB主接口,正好可以用来导出数据到U盘。

首先添加USB驱动文件及FatFs文件系统,文件目录如下:

PDF文件是一种富文本文件,实际上接近一种脚本文件,PDF阅读器作为解释器翻译脚本并显示其内容。

本测试程序演示了PDF文件的创建、页面管理、文本显示、曲线显示以及书签显示等内容。

/*****************************************************************************
* [url=home.php?mod=space&uid=247401]@brief[/url]   author_demo_api
* @param   none
* [url=home.php?mod=space&uid=266161]@return[/url]  none
* [url=home.php?mod=space&uid=72445]@[/url] Pass/ Fail criteria: none
*****************************************************************************/
void pdf_author_demo(void)
{
        SPDF_Obj *pobj;
        uint8_t *file_buff;

        dbg_puts("pdf out start \n");
       
        pobj = malloc(sizeof(SPDF_Obj) * 120);
        file_buff = malloc(1024 * 4);
        otl_list = malloc(sizeof(SPDF_outline_obj_type) * 32);

        spdf_init(&pdf_doc, pobj, 120);
        spdf_disk_buff_set(&pdf_doc, file_buff, 1024 * 4);
        spdf_disk_out_link(&pdf_doc, spdf_disk_out);
        spdf_font_cns_open(&pdf_doc, 8);
        pdf = spdf_create(&pdf_doc);
        spdf_outline_init(&pdf_doc, otl_list, 32);

        cnt = 1;
        while (cnt--)
        {
                spdf_text_demo();
        }

        spdf_char_form_tab_create();

        spdf_chart_demo(0, 100, 100);
        spdf_chart_demo(1, 100, 100);
        spdf_chart_demo(2, 100, 100);
        spdf_chart_demo(3, 100, 100);

        spdf_save(pdf, "red.pdf");

        free(file_buff);
        free(pobj);
       
        dbg_puts("pdf out end \n");
}

下载工程运行后,U盘接入板载主机接口,待串口打印如下内容后拔出U盘。


U盘插电脑上可查看评估板导出的文件:

文件内容如下:



附上工程源码:
AT32F423_EVAL.rar (9.76 MB)
开发环境:IAR EW for Arm 9.40

使用特权

评论回复
沙发
forgot| | 2023-11-17 09:20 | 只看该作者
PDF文件的创建、页面管理、文本显示、曲线显示以及书签显示等内容,这些是通过FatFs文件系统设计的吗?

使用特权

评论回复
板凳
aple0807|  楼主 | 2023-11-19 09:04 | 只看该作者
forgot 发表于 2023-11-17 09:20
PDF文件的创建、页面管理、文本显示、曲线显示以及书签显示等内容,这些是通过FatFs文件系统设计的吗? ...

底层是FatFs,PDF是格式化文件,显示对象类似解释语言的代码

使用特权

评论回复
地板
TopV| | 2023-11-30 15:08 | 只看该作者
学习了,点赞

使用特权

评论回复
5
hameyou| | 2024-2-23 15:44 | 只看该作者
不错,MCU创建PDF文件。

使用特权

评论回复
6
hejiang1777| | 2024-5-11 17:23 | 只看该作者
这么牛X吗,学习一下

使用特权

评论回复
7
hejiang1777| | 2024-5-11 17:41 | 只看该作者
亲,PDF的库是你自已写的吗?

使用特权

评论回复
8
gouguoccc| | 2024-5-11 18:11 | 只看该作者
FatFS文件系统可以支持PDF文件了吗?

使用特权

评论回复
9
aple0807|  楼主 | 2024-5-11 21:46 | 只看该作者
hejiang1777 发表于 2024-5-11 17:41
亲,PDF的库是你自已写的吗?

写了一部分,实现一些简单的文字、线条显示

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

328

帖子

2

粉丝