c - 如何在 C 中使用 PDFGen 将字体添加到 pdf
问题描述
背景:
我正在开发一个程序,该程序将从一组图像生成 PDF 文件。
我正在使用这个库:https ://github.com/AndreRenaud/PDFGen 。
问题:
我想使用 Calibri-Bold 作为每个 PDF 封面的字体,一切正常,除了当我打开 output.pdf 文件时出现错误“The font 'Calibri-Bold' contains a bad /BBox”和字母间距不正确。
代码:
#include "pdfgen.h"
int main(void) {
struct pdf_info info = {
.creator = "",
.producer = "Band'a la Page",
.title = "Piccolo book",
.author = "Theo SARDA",
.subject = "Band'Ales book for Piccolo",
.date = "Today"
};
struct pdf_doc *pdf = pdf_create(PDF_A6_HEIGHT, PDF_A6_WIDTH, &info);
pdf_set_font(pdf, "Calibri-Bold");
pdf_append_page(pdf);
float x[] = {PDF_MM_TO_POINT(0), PDF_MM_TO_POINT(80), PDF_MM_TO_POINT(100), PDF_MM_TO_POINT(60), PDF_MM_TO_POINT(0)};
float y[] = {PDF_MM_TO_POINT(0), PDF_MM_TO_POINT(0), PDF_MM_TO_POINT(70), PDF_MM_TO_POINT(105), PDF_MM_TO_POINT(105)};
pdf_add_filled_polygon(pdf, NULL, x, y, 5, 0, PDF_ARGB(0xFF, 0xC0, 0x00, 0x00));
pdf_add_text(pdf, NULL, "Carnet Piccolo", 12, 30, 30, PDF_WHITE);
//pdf_add_line(pdf, NULL, 50, 24, 150, 24, 3, PDF_BLACK);
pdf_save(pdf, "output.pdf");
pdf_destroy(pdf);
return 0;
}
结果:
截图:
问题:
如何使用 Calibri-Bold 字体而不出现此类问题?
解决方案
推荐阅读
- javascript - IE 的“SCRIPT1010:预期标识符”错误的原因是什么?
- scala - (String, Int, Boolean) 类型的覆盖方法 => Double 具有不兼容的类型
- c++ - 提升进程间向量崩溃
- mysql - 如何在批量 INSERT 中使用 Node.js 中的 mysql / sqlstring 正确转义?
- keras - 我的模型 LSTM 损失中的问题:我的验证数据为 81.84%
- yocto - 从 Yocto Bitbake 中删除 ROS 以减小图像大小
- python - 解决无法以矩阵形式表示的繁琐方程组
- python - 使用 keras tensorflow 实现共享卷积层
- react-native - React Native Duplicate RUN / DEBUG config - URL not found
- azure-devops - 通过 Rest API 创建没有工件的 Azure DevOps 版本