免费 C PDF API,用于生成新 PDF 并添加图像/条形码。
一个强大的开源轻量级 C PDF 处理库,用于生成和管理 PDF 文档。它免费支持向 PDF 文档添加文本、图像、条形码和形状。
什么是 PDFGen 库?
在软件开发领域,程序化创建和管理 PDF 文档是常见需求。从生成发票和报告到创建复杂文档,可靠的 PDF 生成库是开发者工具箱中的关键工具。虽然市面上有许多功能丰富的库,但它们往往伴随复杂的依赖和陡峭的学习曲线。PDFGen C 库正是在这种情况下脱颖而出。它是一个小巧、独立、开源的 C 库,专为 PDF 生成和管理而设计。凭借极小的体积和零外部依赖,它非常适合简单应用、嵌入式系统,或希望避免引入庞大 PDF 库的场景。尽管代码库紧凑,PDFGen 仍提供了坚实的功能集合,如向 PDF 添加文本、在 PDF 中使用基本矢量图形、嵌入条形码、嵌入图像、添加书签、添加新页面等。
在一个库可能极其复杂的生态系统中,PDFGen 采用了令人耳目一新的方式。整个库仅包含在一个 C 源文件及其对应的头文件中。这使得将其集成到任何项目中变得异常简单。PDFGen 是自包含的,不依赖任何外部库。这消除了管理依赖的麻烦,确保编译过程顺畅。由于体积小且只有单文件,它非常适合嵌入到更大的应用程序中,在需要基本 PDF 输出而不想增加大量开销的情况下使用。该库在 Unlicense 下发布,这是一种等同于公共领域的许可证。这意味着您可以自由地出于任何目的(商业或非商业)使用、修改和分发代码,且没有任何限制。
PDFGen 入门指南
推荐的 PDFGen 安装方式是使用 GitHub。请使用以下命令以实现顺利安装。
通过 GitHub 安装 PDFGen
Git clone https://github.com/AndreRenaud/PDFGen.git
您也可以手动安装;直接从 GitHub 仓库下载最新的发布文件。
通过 C API 创建基础 PDF 文件
PDFGen 是一个开源、轻量级的 C 库,专门用于轻松生成和管理 PDF 文档。它支持多种 PDF 文档功能,例如插入文本和图像、添加新页面、管理字体等。 以下示例展示了软件开发人员如何在 C 应用程序中创建带有标题和正文的单页 PDF。
如何通过 C 库创建一个简单的 PDF?
#include
#include "pdfgen.h"
int main(void) {
// 1. Create a new PDF document with A4 page size
struct pdf_info info = {
.creator = "My App",
.producer = "My App",
.title = "My First PDF",
.author = "John Doe",
};
struct pdf_doc *pdf = pdf_create(PDF_A4_WIDTH, PDF_A4_HEIGHT, &info);
// 2. Set up a font
const int font_size = 20;
// 3. Add a new page
pdf_append_page(pdf);
// 6. Save the PDF to a file
pdf_save(pdf, "hello_world.pdf");
// 7. Free the allocated memory
pdf_destroy(pdf);
printf("PDF generated successfully!\n");
return 0;
}
通过 C 库进行 PDF 文本操作
开源的 PDFGen 库已完整支持在 PDF 文档中处理文本,使用 C++ 库。该库提供强大的文本处理功能,允许您使用标准 PDF 字体,如 Times-Roman、Helvetica 和 Courier,并通过设置字体大小、颜色和文本旋转来控制文本外观。库还支持在页面的特定坐标处添加文本。以下示例展示了如何使用 C 命令在 PDF 文档中添加文本。
如何通过 C 库在 PDF 文件中添加文本?
#include "pdfgen.h"
int main(void) {
struct pdf_info info = {
.creator = "My Application",
.title = "My First PDF",
.author = "Me"
};
struct pdf_doc *pdf = pdf_create(PDF_A4_WIDTH, PDF_A4_HEIGHT, &info);
pdf_set_font(pdf, "Times-Roman");
pdf_append_page(pdf);
pdf_add_text(pdf, NULL, "Hello, PDFGen!", 12, 50, 20, PDF_BLACK);
pdf_save(pdf, "hello.pdf");
pdf_destroy(pdf);
return 0;
}
在 PDF 中绘制形状并嵌入图像
开源的 PDFGen 库为在 PDF 文档中轻松绘制形状和添加图像提供了强大的支持。对于需要的不仅仅是文本的文档,PDFGen 提供了一套用于绘制基本形状和线条的函数。只需几行代码,软件开发者就可以绘制线条、矩形和圆形,以在自己的应用程序中创建形状、图表或边框。以下示例演示了软件开发者如何在 C 应用程序中绘制图形并添加 JPEG 图像。
如何通过 C 库在 PDF 文档中绘制形状?
#include "pdfgen.h"
int main(void) {
// ... (PDF creation boilerplate as above) ...
pdf_append_page(pdf);
// Draw a red line
pdf_add_line(pdf, NULL, 50, 50, 200, 50, 3, PDF_RED);
// Draw a blue-filled rectangle
pdf_add_filled_rect(pdf, NULL, 50, 100, 150, 50, PDF_BLUE);
// ... (Save and destroy PDF) ...
return 0;
}
通过 C 库在 PDF 中生成条形码
PDFGen 的一大亮点是内置的 PDF 文档条形码生成功能。这对于需要生成发票、运单或库存标签的应用程序尤为有用。该库支持两种常见的条形码标准:Code-128(高密度线性条形码符号)和 Code-39(可变长度的离散条形码符号)。下面是一个实用示例,展示了如何在 C 应用程序中向 PDF 文件添加条形码。
如何在 C 应用程序中向 PDF 文件添加条形码?
#include "pdfgen.h"
int main(void) {
// ... (PDF creation boilerplate) ...
pdf_append_page(pdf);
pdf_add_barcode(pdf, NULL, PDF_BARCODE_128, 50, 200, 200, 50, "PDFGen-12345", PDF_BLACK);
// ... (Save and destroy PDF) ...
return 0;
}