diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2018-08-07 21:45:34 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-08-07 21:45:34 +0000 |
commit | 3bee9c60f013b8b7e99c39ee35699d132b330334 (patch) | |
tree | fc00b16bf5c6b84af3c4683e43a2652b80db173b /fpdfsdk/fpdf_edittext.cpp | |
parent | e1c2f6d7fe7a50280161832799550a3ee8f98088 (diff) | |
download | pdfium-3bee9c60f013b8b7e99c39ee35699d132b330334.tar.xz |
Add FPDFTextObj_GetText() API
Generalize CPDF_TextPage::GetTextByRect(), so that it's possible to get
the text from a text page using a predicate, that way we can easily
get the text that belongs to single text object as well.
Change-Id: Ia457af0f41184694dc1481709be72b35685bce7f
Reviewed-on: https://pdfium-review.googlesource.com/39530
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'fpdfsdk/fpdf_edittext.cpp')
-rw-r--r-- | fpdfsdk/fpdf_edittext.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/fpdfsdk/fpdf_edittext.cpp b/fpdfsdk/fpdf_edittext.cpp index 6aa44b3b20..2773763b9a 100644 --- a/fpdfsdk/fpdf_edittext.cpp +++ b/fpdfsdk/fpdf_edittext.cpp @@ -22,6 +22,7 @@ #include "core/fpdfapi/parser/cpdf_number.h" #include "core/fpdfapi/parser/cpdf_reference.h" #include "core/fpdfapi/parser/cpdf_stream.h" +#include "core/fpdftext/cpdf_textpage.h" #include "core/fxcrt/fx_extension.h" #include "core/fxge/cfx_fontmgr.h" #include "core/fxge/fx_font.h" @@ -564,6 +565,23 @@ FPDFTextObj_GetFontName(FPDF_PAGEOBJECT text, return dwStringLen; } +FPDF_EXPORT unsigned long FPDF_CALLCONV +FPDFTextObj_GetText(FPDF_PAGEOBJECT text_object, + FPDF_TEXTPAGE text_page, + void* buffer, + unsigned long length) { + CPDF_TextObject* pTextObj = CPDFTextObjectFromFPDFPageObject(text_object); + if (!pTextObj) + return 0; + + CPDF_TextPage* pTextPage = CPDFTextPageFromFPDFTextPage(text_page); + if (!pTextPage) + return 0; + + WideString text = pTextPage->GetTextByObject(pTextObj); + return Utf16EncodeMaybeCopyAndReturnLength(text, buffer, length); +} + FPDF_EXPORT void FPDF_CALLCONV FPDFFont_Close(FPDF_FONT font) { CPDF_Font* pFont = CPDFFontFromFPDFFont(font); if (!pFont) |