コード例 #1
0
ファイル: doc_basic.cpp プロジェクト: andoma/pdfium
FX_BOOL CPDF_FileSpec::GetFileName(CFX_WideString& csFileName) const {
  if (!m_pObj) {
    return FALSE;
  }
  if (CPDF_Dictionary* pDict = m_pObj->AsDictionary()) {
    csFileName = pDict->GetUnicodeTextBy("UF");
    if (csFileName.IsEmpty()) {
      csFileName = CFX_WideString::FromLocal(pDict->GetStringBy("F"));
    }
    if (pDict->GetStringBy("FS") == "URL") {
      return TRUE;
    }
    if (csFileName.IsEmpty()) {
      if (pDict->KeyExist("DOS")) {
        csFileName = CFX_WideString::FromLocal(pDict->GetStringBy("DOS"));
      } else if (pDict->KeyExist("Mac")) {
        csFileName = CFX_WideString::FromLocal(pDict->GetStringBy("Mac"));
      } else if (pDict->KeyExist("Unix")) {
        csFileName = CFX_WideString::FromLocal(pDict->GetStringBy("Unix"));
      } else {
        return FALSE;
      }
    }
  } else {
    csFileName = CFX_WideString::FromLocal(m_pObj->GetString());
  }
  csFileName = FILESPEC_DecodeFileName(csFileName);
  return TRUE;
}
コード例 #2
0
ファイル: doc_basic.cpp プロジェクト: azunite/pdfium_ch
FX_BOOL CPDF_FileSpec::GetFileName(CFX_WideString &csFileName) const
{
    if (m_pObj == NULL) {
        return FALSE;
    }
    if (m_pObj->GetType() == PDFOBJ_DICTIONARY) {
        CPDF_Dictionary* pDict = (CPDF_Dictionary*)m_pObj;
        csFileName = pDict->GetUnicodeText(FX_BSTRC("UF"));
        if (csFileName.IsEmpty()) {
            csFileName = CFX_WideString::FromLocal(pDict->GetString(FX_BSTRC("F")));
        }
        if (pDict->GetString(FX_BSTRC("FS")) == FX_BSTRC("URL")) {
            return TRUE;
        }
        if (csFileName.IsEmpty()) {
            if (pDict->KeyExist(FX_BSTRC("DOS"))) {
                csFileName = CFX_WideString::FromLocal(pDict->GetString(FX_BSTRC("DOS")));
            } else if (pDict->KeyExist(FX_BSTRC("Mac"))) {
                csFileName = CFX_WideString::FromLocal(pDict->GetString(FX_BSTRC("Mac")));
            } else if (pDict->KeyExist(FX_BSTRC("Unix"))) {
                csFileName = CFX_WideString::FromLocal(pDict->GetString(FX_BSTRC("Unix")));
            } else {
                return FALSE;
            }
        }
    } else {
        csFileName = CFX_WideString::FromLocal(m_pObj->GetString());
    }
    csFileName = FILESPEC_DecodeFileName(csFileName);
    return TRUE;
}