提问人:Diego Fernando Pava 提问时间:11/14/2023 最后编辑:genpfaultDiego Fernando Pava 更新时间:11/14/2023 访问量:32
当我从 Visual Studio 运行它时,PDFHummus 正在工作,但在使用可执行文件时失败
PDFHummus is working when I run it from visual studio but fail when using the executable
问:
我正在尝试使用 PDFHummus 生成一个显示绘图的 pdf,我将所有 libs 和 dll 放在主文件夹中,并使用以下代码创建了一个非常简单的 pdf,其中包含文本和图像的一页:
#include <iostream>
#include <string>
// end standard library includes
// pdfwriter library includes
#include "PDFWriter.h"
#include "PDFPage.h"
#include "PageContentContext.h"
#include "PDFFormXObject.h"
#include "ResourcesDictionary.h"
// end pdfwriter library includes
using namespace PDFHummus;
int main(int argc, char** const argv) {
// Step 1: Create a PDFWriter instance
PDFWriter pdfWriter;
if (pdfWriter.StartPDF("HelloWorld.pdf", ePDFVersion13) != PDFHummus::eSuccess)
return;
PDFPage* page = new PDFPage();
page->SetMediaBox(PDFRectangle(0, 0, 791, 612));
PageContentContext* cxt = pdfWriter.StartPageContentContext(page);
cxt->DrawImage(300, 570, "avent3.pdf");
// cxt->DrawImage(300, 570, "avent3.png");
PDFUsedFont* font = pdfWriter.GetFontForFile("times.ttf");
AbstractContentContext::TextOptions textOptions(font, 14, AbstractContentContext::eGray, 0);
cxt->WriteText(30, 570, "Hello World", textOptions);
pdfWriter.EndPageContentContext(cxt);
pdfWriter.WritePage(page);
delete page;
// Step 2 Close the PDF
pdfWriter.EndPDF();
return 0;
}
我将所有库添加到链接器中,并将所有包含添加到属性的 c++ 部分,当我在发布模式下从 Visual Studio 运行它时,它工作正常,但是当我运行可执行文件时,pdf 无法正确创建(它创建文件但已损坏)。
如果我注释所有插入图像行并只保留文本,它可以正常工作 如果我留下文本并插入 png 文件,它可以正常工作
当我尝试添加可执行文件的 pdf 矢量图像文件时,可执行文件停止工作,但同样,从 Visual Studio 中它可以正常工作。我想我缺少一个必须添加到工作文件夹中的dll,但无法弄清楚是哪一个
有什么想法吗?
答: 暂无答案
评论
pdfWriter.WritePage(page); delete page; pdfWriter.EndPDF();
delete page;
page
new
PDFPage page {}; page.SetMediaBox(PDFRectangle(0, 0, 791, 612));