2016-09-20 30 views
0

我有一個問題,不應該太難回答,但我對C++非常陌生,一直無法弄清楚。在C++中使用jagPDF繪製PDF文件的路徑

我使用JAGPDF爲了創建一個PDF文件,顯示我的C++程序的輸出。使用JagPDF我試圖簡單地按照他們的指示繪製一個矩形。不幸的是,他們的例子是用Python編寫的,需要一點「翻譯」。在Python代碼是

canvas.rectangle(50, 400, 500, 350) 
canvas.path_paint('s') 

在C++中path_paint函數被定義爲:

void path_paint(Char const* cmd); 

根據指導,通過包括下列字母的有意義的組合的字符串指定的CMD:

​​

我試圖做這樣的事情

char cmd = 's'; 
char const* ptr = &cmd; 
doc.page().canvas().path_paint(ptr); 

但給我錯誤。我如何正確調用該功能?感謝您的幫助。

+0

你嘗試讀取錯誤?你有沒有考慮過把它們作爲你問題的一部分? – paddy

+0

對不起,它是拋出異常的錯誤,就好像該函數的輸入是錯誤的。所以它不會給我一個錯誤信息,就像「PDF.exe中0x770196C2的未處理異常:Microsoft C++異常:內存位置0x00F8D308處的jag :: pdf :: Exception」。所以沒有太多的幫助 –

+1

沒有看API來看看你是否正確調用'path_paint',我只會指出你沒有給它一個字符串,所以你有未定義的行爲。傳遞一個實際的(以null結尾的)字符串,而不是像這樣的字符指針:'path_paint(「s」)' – paddy

回答

0

那個問題好節文字記載:

doc.page().canvas().text(50, 760, "Text"); 

或使用字體:

Canvas canvas = doc.page().canvas(); 
canvas.text_start(20, 420); 
canvas.text_font(font); 
canvas.text("Text"); 
canvas.text_translate_line(0, font.height());