2013-06-02 40 views
2

我正在使用MuPDF從pdf文件中提取一些文本。大多數時候它工作正常,但偶爾最後一行不會提取或不打印。使用MuPDF從PDF中提取文本時,文本的最後一行被切斷

fz_text_sheet *sheet = fz_new_text_sheet(self.ctx); 
fz_text_page *text = fz_new_text_page(self.ctx, &fz_empty_rect); 
fz_device *dev = fz_new_text_device(self.ctx, sheet, text); 

fz_page *page = fz_load_page(self.doc, pageNumber); 
fz_run_page(self.doc, page, dev, &fz_identity, NULL); 

fz_output *out = fz_new_output_file(ctx, stdout); 
fz_print_text_page_html(ctx, out, text); 

這個PDF的第一頁無法打印文本的最後一行在該網頁。

我做錯了什麼或者這是一個錯誤?

謝謝!

回答

1

您需要先釋放文本設備,然後才能安全使用fz_text_page。設備中可能會有一些緩衝區,直到它被釋放纔會被刷新。

+0

拯救生命!事實上,fz_free_device(dev)解決了這個問題 –