| 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 "../include/fsdk_define.h" | 7 #include "../include/fsdk_define.h" |
| 8 #include "../include/fpdfxfa/fpdfxfa_doc.h" | 8 #include "../include/fpdfxfa/fpdfxfa_doc.h" |
| 9 #include "../include/fpdfxfa/fpdfxfa_util.h" | 9 #include "../include/fpdfxfa/fpdfxfa_util.h" |
| 10 #include "../include/fsdk_mgr.h" | 10 #include "../include/fsdk_mgr.h" |
| (...skipping 3123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3134 nBufSize = fdfEncodedData.GetLength(); | 3134 nBufSize = fdfEncodedData.GetLength(); |
| 3135 pBuf = FX_Alloc(FX_BYTE, nBufSize); | 3135 pBuf = FX_Alloc(FX_BYTE, nBufSize); |
| 3136 if(!pBuf) | 3136 if(!pBuf) |
| 3137 return FALSE; | 3137 return FALSE; |
| 3138 FXSYS_memcpy(pBuf, fdfEncodedData.GetBuffer(), nBufSize); | 3138 FXSYS_memcpy(pBuf, fdfEncodedData.GetBuffer(), nBufSize); |
| 3139 | 3139 |
| 3140 } | 3140 } |
| 3141 return TRUE; | 3141 return TRUE; |
| 3142 } | 3142 } |
| 3143 | 3143 |
| 3144 FX_BOOL CPDFSDK_InterForm::ExportFieldsToFDFFile(const CFX_WideString& sFDFFileN
ame, | |
| 3145
const CFX_PtrArray& fields, FX_BOOL bIncludeOrExclude) | |
| 3146 { | |
| 3147 if (sFDFFileName.IsEmpty()) return FALSE; | |
| 3148 ASSERT(m_pDocument != NULL); | |
| 3149 ASSERT(m_pInterForm != NULL); | |
| 3150 | |
| 3151 CFDF_Document* pFDF = m_pInterForm->ExportToFDF(m_pDocument->GetPath(),(
CFX_PtrArray&)fields, bIncludeOrExclude); | |
| 3152 if (!pFDF) return FALSE; | |
| 3153 FX_BOOL bRet = pFDF->WriteFile(sFDFFileName.UTF8Encode()); // = FALSE;// | |
| 3154 delete pFDF; | |
| 3155 | |
| 3156 return bRet; | |
| 3157 } | |
| 3158 FX_BOOL CPDFSDK_InterForm::ExportFieldsToFDFTextBuf(const CFX_PtrArray& fields,F
X_BOOL bIncludeOrExclude, CFX_ByteTextBuf& textBuf) | 3144 FX_BOOL CPDFSDK_InterForm::ExportFieldsToFDFTextBuf(const CFX_PtrArray& fields,F
X_BOOL bIncludeOrExclude, CFX_ByteTextBuf& textBuf) |
| 3159 { | 3145 { |
| 3160 ASSERT(m_pDocument != NULL); | 3146 ASSERT(m_pDocument != NULL); |
| 3161 ASSERT(m_pInterForm != NULL); | 3147 ASSERT(m_pInterForm != NULL); |
| 3162 | 3148 |
| 3163 CFDF_Document* pFDF = m_pInterForm->ExportToFDF(m_pDocument->GetPath(),(
CFX_PtrArray&)fields, bIncludeOrExclude); | 3149 CFDF_Document* pFDF = m_pInterForm->ExportToFDF(m_pDocument->GetPath(),(
CFX_PtrArray&)fields, bIncludeOrExclude); |
| 3164 if (!pFDF) return FALSE; | 3150 if (!pFDF) return FALSE; |
| 3165 FX_BOOL bRet = pFDF->WriteBuf(textBuf); // = FALSE;// | 3151 FX_BOOL bRet = pFDF->WriteBuf(textBuf); // = FALSE;// |
| 3166 delete pFDF; | 3152 delete pFDF; |
| 3167 | 3153 |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3227 | 3213 |
| 3228 if (bUrlEncoded && pBuffer) | 3214 if (bUrlEncoded && pBuffer) |
| 3229 { | 3215 { |
| 3230 FX_Free(pBuffer); | 3216 FX_Free(pBuffer); |
| 3231 pBuffer = NULL; | 3217 pBuffer = NULL; |
| 3232 } | 3218 } |
| 3233 | 3219 |
| 3234 return TRUE; | 3220 return TRUE; |
| 3235 } | 3221 } |
| 3236 | 3222 |
| 3237 FX_BOOL CPDFSDK_InterForm::ExportFormToFDFFile(const CFX_WideString& sFDFFileNam
e) | |
| 3238 { | |
| 3239 if (sFDFFileName.IsEmpty()) return FALSE; | |
| 3240 | |
| 3241 ASSERT(m_pInterForm != NULL); | |
| 3242 ASSERT(m_pDocument != NULL); | |
| 3243 | |
| 3244 CFDF_Document* pFDF = m_pInterForm->ExportToFDF(m_pDocument->GetPath()); | |
| 3245 if (!pFDF) return FALSE; | |
| 3246 | |
| 3247 FX_BOOL bRet = pFDF->WriteFile(sFDFFileName.UTF8Encode()); | |
| 3248 delete pFDF; | |
| 3249 | |
| 3250 return bRet; | |
| 3251 } | |
| 3252 | |
| 3253 FX_BOOL CPDFSDK_InterForm::ExportFormToFDFTextBuf(CFX_ByteTextBuf& textBuf) | 3223 FX_BOOL CPDFSDK_InterForm::ExportFormToFDFTextBuf(CFX_ByteTextBuf& textBuf) |
| 3254 { | 3224 { |
| 3255 | 3225 |
| 3256 ASSERT(m_pInterForm != NULL); | 3226 ASSERT(m_pInterForm != NULL); |
| 3257 ASSERT(m_pDocument != NULL); | 3227 ASSERT(m_pDocument != NULL); |
| 3258 | 3228 |
| 3259 CFDF_Document* pFDF = m_pInterForm->ExportToFDF(m_pDocument->GetPath()); | 3229 CFDF_Document* pFDF = m_pInterForm->ExportToFDF(m_pDocument->GetPath()); |
| 3260 if (!pFDF) return FALSE; | 3230 if (!pFDF) return FALSE; |
| 3261 | 3231 |
| 3262 FX_BOOL bRet = pFDF->WriteBuf(textBuf); | 3232 FX_BOOL bRet = pFDF->WriteBuf(textBuf); |
| 3263 delete pFDF; | 3233 delete pFDF; |
| 3264 | 3234 |
| 3265 return bRet; | 3235 return bRet; |
| 3266 } | 3236 } |
| 3267 | 3237 |
| 3268 FX_BOOL CPDFSDK_InterForm::ExportFormToTxtFile(const CFX_WideString& sTxtFileNam
e) | |
| 3269 { | |
| 3270 ASSERT(m_pInterForm != NULL); | |
| 3271 | |
| 3272 CFX_WideString sFieldNames; | |
| 3273 CFX_WideString sFieldValues; | |
| 3274 | |
| 3275 int nSize = m_pInterForm->CountFields(); | |
| 3276 | |
| 3277 if (nSize > 0) | |
| 3278 { | |
| 3279 for (int i=0; i<nSize; i++) | |
| 3280 { | |
| 3281 CPDF_FormField* pField = m_pInterForm->GetField(i); | |
| 3282 ASSERT(pField != NULL); | |
| 3283 | |
| 3284 if (i != 0) | |
| 3285 { | |
| 3286 sFieldNames += L"\t"; | |
| 3287 sFieldValues += L"\t"; | |
| 3288 } | |
| 3289 sFieldNames += pField->GetFullName(); | |
| 3290 sFieldValues += pField->GetValue(); | |
| 3291 } | |
| 3292 | |
| 3293 return TRUE; | |
| 3294 } | |
| 3295 | |
| 3296 return FALSE; | |
| 3297 } | |
| 3298 | |
| 3299 FX_BOOL CPDFSDK_InterForm::ImportFormFromTxtFile(const CFX_WideString& sTxtFileN
ame) | |
| 3300 { | |
| 3301 ASSERT(m_pInterForm != NULL); | |
| 3302 | |
| 3303 return TRUE; | |
| 3304 } | |
| 3305 | 3238 |
| 3306 FX_BOOL CPDFSDK_InterForm::DoAction_ResetForm(const CPDF_Action& action) | 3239 FX_BOOL CPDFSDK_InterForm::DoAction_ResetForm(const CPDF_Action& action) |
| 3307 { | 3240 { |
| 3308 ASSERT(action != NULL); | 3241 ASSERT(action != NULL); |
| 3309 | 3242 |
| 3310 CPDF_Dictionary* pActionDict = action; | 3243 CPDF_Dictionary* pActionDict = action; |
| 3311 | 3244 |
| 3312 if (pActionDict->KeyExist("Fields")) | 3245 if (pActionDict->KeyExist("Fields")) |
| 3313 { | 3246 { |
| 3314 CPDF_ActionFields af = action.GetWidgets(); | 3247 CPDF_ActionFields af = action.GetWidgets(); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 3325 } | 3258 } |
| 3326 else | 3259 else |
| 3327 { | 3260 { |
| 3328 ASSERT(m_pInterForm != NULL); | 3261 ASSERT(m_pInterForm != NULL); |
| 3329 return m_pInterForm->ResetForm(TRUE); | 3262 return m_pInterForm->ResetForm(TRUE); |
| 3330 } | 3263 } |
| 3331 } | 3264 } |
| 3332 | 3265 |
| 3333 FX_BOOL CPDFSDK_InterForm::DoAction_ImportData(const CPDF_Action& action) | 3266 FX_BOOL CPDFSDK_InterForm::DoAction_ImportData(const CPDF_Action& action) |
| 3334 { | 3267 { |
| 3335 ASSERT(action != NULL); | |
| 3336 | |
| 3337 CFX_WideString sFilePath = action.GetFilePath(); | |
| 3338 if (sFilePath.IsEmpty()) | |
| 3339 return FALSE; | |
| 3340 | |
| 3341 if (!ImportFormFromFDFFile(sFilePath, TRUE)) | |
| 3342 { | |
| 3343 return FALSE; | |
| 3344 } | |
| 3345 | |
| 3346 return TRUE; | |
| 3347 } | |
| 3348 | |
| 3349 FX_BOOL CPDFSDK_InterForm::ImportFormFromFDFFile(const CFX_WideString& csFDFFile
Name, | |
| 3350
FX_BOOL bNotify) | |
| 3351 { | |
| 3352 return FALSE; | 3268 return FALSE; |
| 3353 } | 3269 } |
| 3354 | 3270 |
| 3355 void CPDFSDK_InterForm::GetFieldFromObjects(const CFX_PtrArray& objects, CFX_Ptr
Array& fields) | 3271 void CPDFSDK_InterForm::GetFieldFromObjects(const CFX_PtrArray& objects, CFX_Ptr
Array& fields) |
| 3356 { | 3272 { |
| 3357 ASSERT(m_pInterForm != NULL); | 3273 ASSERT(m_pInterForm != NULL); |
| 3358 | 3274 |
| 3359 int iCount = objects.GetSize(); | 3275 int iCount = objects.GetSize(); |
| 3360 for (int i = 0; i < iCount; i ++) | 3276 for (int i = 0; i < iCount; i ++) |
| 3361 { | 3277 { |
| (...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3889 | 3805 |
| 3890 CPDF_Annot* pPDFAnnot = pAnnot->GetPDFAnnot(); | 3806 CPDF_Annot* pPDFAnnot = pAnnot->GetPDFAnnot(); |
| 3891 ASSERT(pPDFAnnot != NULL); | 3807 ASSERT(pPDFAnnot != NULL); |
| 3892 | 3808 |
| 3893 CPDF_Rect rcAnnot; | 3809 CPDF_Rect rcAnnot; |
| 3894 pPDFAnnot->GetRect(rcAnnot); | 3810 pPDFAnnot->GetRect(rcAnnot); |
| 3895 | 3811 |
| 3896 return rcAnnot; | 3812 return rcAnnot; |
| 3897 } | 3813 } |
| 3898 | 3814 |
| OLD | NEW |