Index: fpdfsdk/src/fpdftext.cpp |
diff --git a/fpdfsdk/src/fpdftext.cpp b/fpdfsdk/src/fpdftext.cpp |
index c8998aee9327c3497273e89701226ec059268296..741bbe718de966385ed6d519255c1a4288f46732 100644 |
--- a/fpdfsdk/src/fpdftext.cpp |
+++ b/fpdfsdk/src/fpdftext.cpp |
@@ -6,6 +6,10 @@ |
#include "public/fpdf_text.h" |
+#ifdef PDF_ENABLE_XFA |
+#include "../include/fpdfxfa/fpdfxfa_doc.h" |
+#include "../include/fpdfxfa/fpdfxfa_page.h" |
+#endif |
#include "core/include/fpdfdoc/fpdf_doc.h" |
#include "core/include/fpdftext/fpdf_text.h" |
#include "fpdfsdk/include/fsdk_define.h" |
@@ -18,7 +22,13 @@ DLLEXPORT FPDF_TEXTPAGE STDCALL FPDFText_LoadPage(FPDF_PAGE page) { |
CPDF_Page* pPDFPage = CPDFPageFromFPDFPage(page); |
if (!pPDFPage) |
return nullptr; |
+#ifndef PDF_ENABLE_XFA |
CPDF_ViewerPreferences viewRef(pPDFPage->m_pDocument); |
+#else |
+ CPDFXFA_Page* pPage = (CPDFXFA_Page*)page; |
+ CPDFXFA_Document* pDoc = pPage->GetDocument(); |
+ CPDF_ViewerPreferences viewRef(pDoc->GetPDFDoc()); |
+#endif |
IPDF_TextPage* textpage = |
IPDF_TextPage::CreateTextPage(pPDFPage, viewRef.IsDirectionR2L()); |
textpage->ParseTextPage(); |