aple0807 发表于 2023-11-12 12:44

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

AT32F423包含一个USB HOST外设,评估板也引出了USB主接口,正好可以用来导出数据到U盘。

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

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

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

/*****************************************************************************
* @brief   author_demo_api
* @param   none
* @returnnone
* @ 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盘插电脑上可查看评估板导出的文件:

文件内容如下:



附上工程源码:

开发环境: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

学习了,点赞

hameyou 发表于 2024-2-23 15:44

不错,MCU创建PDF文件。

hejiang1777 发表于 2024-5-11 17:23

这么牛X吗,学习一下

hejiang1777 发表于 2024-5-11 17:41

亲,PDF的库是你自已写的吗?

gouguoccc 发表于 2024-5-11 18:11

FatFS文件系统可以支持PDF文件了吗?

aple0807 发表于 2024-5-11 21:46

hejiang1777 发表于 2024-5-11 17:41
亲,PDF的库是你自已写的吗?

写了一部分,实现一些简单的文字、线条显示
页: [1]
查看完整版本: 【AT-START-F423测评】通过U盘导出PDF文件