void CPDF_StreamContentParser::EndString() { CPDF_String *pObj = FX_NEW CPDF_String(m_StringBuf.GetByteString()); if (!SetToCurObj(pObj)) { pObj->Release(); } }
void CPDF_StreamContentParser::EndHexString() { CPDF_String *pObj = FX_NEW CPDF_String(_FPDF_ByteStringFromHex(m_StringBuf), TRUE); if (!SetToCurObj(pObj)) { pObj->Release(); } }
CFX_WideString CPDF_FormField::GetOptionText(int index, int sub_index) const { CPDF_Array* pArray = ToArray(FPDF_GetFieldAttr(m_pDict, "Opt")); if (!pArray) return CFX_WideString(); CPDF_Object* pOption = pArray->GetDirectObjectAt(index); if (!pOption) return CFX_WideString(); if (CPDF_Array* pOptionArray = pOption->AsArray()) pOption = pOptionArray->GetDirectObjectAt(sub_index); CPDF_String* pString = ToString(pOption); return pString ? pString->GetUnicodeText() : CFX_WideString(); }
CFX_WideString CPDF_Bookmark::GetTitle() { if (!m_pDict) { return CFX_WideString(); } CPDF_String* pString = (CPDF_String*)m_pDict->GetElementValue("Title"); if (pString == NULL || pString->GetType() != PDFOBJ_STRING) { return CFX_WideString(); } CFX_WideString title = pString->GetUnicodeText(); FX_LPWSTR buf = title.LockBuffer(); int len = title.GetLength(), i; for (i = 0; i < len; i ++) if (buf[i] < 0x20) { buf[i] = 0x20; } title.ReleaseBuffer(len); return title; }
CFX_WideString CPDF_Bookmark::GetTitle() const { if (!m_pDict) { return CFX_WideString(); } CPDF_String* pString = ToString(m_pDict->GetElementValue("Title")); if (!pString) return CFX_WideString(); CFX_WideString title = pString->GetUnicodeText(); int len = title.GetLength(); if (!len) { return CFX_WideString(); } nonstd::unique_ptr<FX_WCHAR[]> buf(new FX_WCHAR[len]); for (int i = 0; i < len; i++) { FX_WCHAR w = title[i]; buf[i] = w > 0x20 ? w : 0x20; } return CFX_WideString(buf.get(), len); }