OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h" | 7 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h" |
8 #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h" | 8 #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h" |
9 #include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h" | 9 #include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h" |
10 #include "core/fpdfapi/fpdf_parser/include/cpdf_string.h" | 10 #include "core/fpdfapi/fpdf_parser/include/cpdf_string.h" |
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
670 } | 670 } |
671 } else if (fileType == FXFA_SAVEAS_XDP) { | 671 } else if (fileType == FXFA_SAVEAS_XDP) { |
672 if (m_pPDFDoc == NULL) | 672 if (m_pPDFDoc == NULL) |
673 return; | 673 return; |
674 CPDF_Dictionary* pRoot = m_pPDFDoc->GetRoot(); | 674 CPDF_Dictionary* pRoot = m_pPDFDoc->GetRoot(); |
675 if (pRoot == NULL) | 675 if (pRoot == NULL) |
676 return; | 676 return; |
677 CPDF_Dictionary* pAcroForm = pRoot->GetDictBy("AcroForm"); | 677 CPDF_Dictionary* pAcroForm = pRoot->GetDictBy("AcroForm"); |
678 if (NULL == pAcroForm) | 678 if (NULL == pAcroForm) |
679 return; | 679 return; |
680 CPDF_Object* pXFA = pAcroForm->GetElement("XFA"); | 680 CPDF_Object* pXFA = pAcroForm->GetObjectBy("XFA"); |
681 if (pXFA == NULL) | 681 if (pXFA == NULL) |
682 return; | 682 return; |
683 if (!pXFA->IsArray()) | 683 if (!pXFA->IsArray()) |
684 return; | 684 return; |
685 CPDF_Array* pArray = pXFA->GetArray(); | 685 CPDF_Array* pArray = pXFA->GetArray(); |
686 if (NULL == pArray) | 686 if (NULL == pArray) |
687 return; | 687 return; |
688 int size = pArray->GetCount(); | 688 int size = pArray->GetCount(); |
689 for (int i = 1; i < size; i += 2) { | 689 for (int i = 1; i < size; i += 2) { |
690 CPDF_Object* pPDFObj = pArray->GetElement(i); | 690 CPDF_Object* pPDFObj = pArray->GetObjectAt(i); |
691 CPDF_Object* pPrePDFObj = pArray->GetElement(i - 1); | 691 CPDF_Object* pPrePDFObj = pArray->GetObjectAt(i - 1); |
692 if (!pPrePDFObj->IsString()) | 692 if (!pPrePDFObj->IsString()) |
693 continue; | 693 continue; |
694 if (!pPDFObj->IsReference()) | 694 if (!pPDFObj->IsReference()) |
695 continue; | 695 continue; |
696 CPDF_Object* pDirectObj = pPDFObj->GetDirect(); | 696 CPDF_Object* pDirectObj = pPDFObj->GetDirect(); |
697 if (!pDirectObj->IsStream()) | 697 if (!pDirectObj->IsStream()) |
698 continue; | 698 continue; |
699 if (pPrePDFObj->GetString() == "form") { | 699 if (pPrePDFObj->GetString() == "form") { |
700 CFX_WideStringC form(L"form"); | 700 CFX_WideStringC form(L"form"); |
701 pXFADocHander->SavePackage(m_pXFADocView->GetDoc(), form, &fileWrite); | 701 pXFADocHander->SavePackage(m_pXFADocView->GetDoc(), form, &fileWrite); |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
975 CPDF_Dictionary* pRoot = m_pPDFDoc->GetRoot(); | 975 CPDF_Dictionary* pRoot = m_pPDFDoc->GetRoot(); |
976 if (pRoot == NULL) { | 976 if (pRoot == NULL) { |
977 fileStream.Flush(); | 977 fileStream.Flush(); |
978 return FALSE; | 978 return FALSE; |
979 } | 979 } |
980 CPDF_Dictionary* pAcroForm = pRoot->GetDictBy("AcroForm"); | 980 CPDF_Dictionary* pAcroForm = pRoot->GetDictBy("AcroForm"); |
981 if (NULL == pAcroForm) { | 981 if (NULL == pAcroForm) { |
982 fileStream.Flush(); | 982 fileStream.Flush(); |
983 return FALSE; | 983 return FALSE; |
984 } | 984 } |
985 CPDF_Object* pXFA = pAcroForm->GetElement("XFA"); | 985 CPDF_Object* pXFA = pAcroForm->GetObjectBy("XFA"); |
986 if (pXFA == NULL) { | 986 if (pXFA == NULL) { |
987 fileStream.Flush(); | 987 fileStream.Flush(); |
988 return FALSE; | 988 return FALSE; |
989 } | 989 } |
990 if (!pXFA->IsArray()) { | 990 if (!pXFA->IsArray()) { |
991 fileStream.Flush(); | 991 fileStream.Flush(); |
992 return FALSE; | 992 return FALSE; |
993 } | 993 } |
994 CPDF_Array* pArray = pXFA->GetArray(); | 994 CPDF_Array* pArray = pXFA->GetArray(); |
995 if (NULL == pArray) { | 995 if (NULL == pArray) { |
996 fileStream.Flush(); | 996 fileStream.Flush(); |
997 return FALSE; | 997 return FALSE; |
998 } | 998 } |
999 int size = pArray->GetCount(); | 999 int size = pArray->GetCount(); |
1000 for (int i = 1; i < size; i += 2) { | 1000 for (int i = 1; i < size; i += 2) { |
1001 CPDF_Object* pPDFObj = pArray->GetElement(i); | 1001 CPDF_Object* pPDFObj = pArray->GetObjectAt(i); |
1002 CPDF_Object* pPrePDFObj = pArray->GetElement(i - 1); | 1002 CPDF_Object* pPrePDFObj = pArray->GetObjectAt(i - 1); |
1003 if (!pPrePDFObj->IsString()) | 1003 if (!pPrePDFObj->IsString()) |
1004 continue; | 1004 continue; |
1005 if (!pPDFObj->IsReference()) | 1005 if (!pPDFObj->IsReference()) |
1006 continue; | 1006 continue; |
1007 CPDF_Object* pDirectObj = pPDFObj->GetDirect(); | 1007 CPDF_Object* pDirectObj = pPDFObj->GetDirect(); |
1008 if (!pDirectObj->IsStream()) | 1008 if (!pDirectObj->IsStream()) |
1009 continue; | 1009 continue; |
1010 if (pPrePDFObj->GetString() == "config" && !(flag & FXFA_CONFIG)) | 1010 if (pPrePDFObj->GetString() == "config" && !(flag & FXFA_CONFIG)) |
1011 continue; | 1011 continue; |
1012 if (pPrePDFObj->GetString() == "template" && !(flag & FXFA_TEMPLATE)) | 1012 if (pPrePDFObj->GetString() == "template" && !(flag & FXFA_TEMPLATE)) |
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1278 } | 1278 } |
1279 | 1279 |
1280 return _GetHValueByName(szPropName, hValue, | 1280 return _GetHValueByName(szPropName, hValue, |
1281 m_pSDKDoc->GetEnv()->GetJSRuntime()); | 1281 m_pSDKDoc->GetEnv()->GetJSRuntime()); |
1282 } | 1282 } |
1283 FX_BOOL CPDFXFA_Document::_GetHValueByName(const CFX_ByteStringC& utf8Name, | 1283 FX_BOOL CPDFXFA_Document::_GetHValueByName(const CFX_ByteStringC& utf8Name, |
1284 FXJSE_HVALUE hValue, | 1284 FXJSE_HVALUE hValue, |
1285 IJS_Runtime* runTime) { | 1285 IJS_Runtime* runTime) { |
1286 return runTime->GetHValueByName(utf8Name, hValue); | 1286 return runTime->GetHValueByName(utf8Name, hValue); |
1287 } | 1287 } |
OLD | NEW |