gpt4 book ai didi

com.adobe.xmp.XMPMeta类的使用及代码示例

转载 作者:知者 更新时间:2024-03-22 05:39:05 28 4
gpt4 key购买 nike

本文整理了Java中com.adobe.xmp.XMPMeta类的一些代码示例,展示了XMPMeta类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XMPMeta类的具体详情如下:
包路径:com.adobe.xmp.XMPMeta
类名称:XMPMeta

XMPMeta介绍

[英]This class represents the set of XMP metadata as a DOM representation. It has methods to read and modify all kinds of properties, create an iterator over all properties and serialize the metadata to a String, byte-array or OutputStream.
[中]此类将XMP元数据集表示为DOM表示。它具有读取和修改各种属性、对所有属性创建迭代器以及将元数据序列化为字符串、字节数组或OutputStream的方法。

代码示例

代码示例来源:origin: drewnoakes/metadata-extractor

/**
 * Gets a map of all XMP properties in this directory.
 * <p>
 * This is required because XMP properties are represented as strings, whereas the rest of this library
 * uses integers for keys.
 */
@NotNull
public Map<String, String> getXmpProperties()
{
  Map<String, String> propertyValueByPath = new HashMap<String, String>();
  if (_xmpMeta != null)
  {
    try {
      IteratorOptions options = new IteratorOptions().setJustLeafnodes(true);
      for (Iterator i = _xmpMeta.iterator(options); i.hasNext(); ) {
        XMPPropertyInfo prop = (XMPPropertyInfo)i.next();
        String path = prop.getPath();
        String value = prop.getValue();
        if (path != null && value != null) {
          propertyValueByPath.put(path, value);
        }
      }
    } catch (XMPException ignored) {
    }
  }
  return Collections.unmodifiableMap(propertyValueByPath);
}

代码示例来源:origin: apache/tika

/**
 * Creates a language alternative property in the x-default language
 *
 * @param tikaKey
 *            Key in the Tika metadata map
 * @param ns
 *            namespace the property should be created in
 * @param propertyName
 *            name of the property
 * @throws XMPException
 *             if the property could not be created
 */
protected void createLangAltProperty(String tikaKey, String ns, String propertyName)
    throws XMPException {
  String value = metadata.get( tikaKey );
  if (value != null && value.length() > 0) {
    meta.setLocalizedText( ns, propertyName, null, XMPConst.X_DEFAULT, value );
  }
}

代码示例来源:origin: apache/tika

/**
 * Creates an array property from a list of values.
 *
 * @param tikaKey
 *            Key in the Tika metadata map
 * @param ns
 *            namespace the property should be created in
 * @param propertyName
 *            name of the property
 * @param arrayType
 *            depicts which kind of array shall be created
 * @throws XMPException
 *             if the property could not be created
 */
protected void createArrayProperty(String tikaKey, String ns, String propertyName, int arrayType)
    throws XMPException {
  String[] values = metadata.getValues( tikaKey );
  if (values != null) {
    meta.setProperty( ns, propertyName, null, new PropertyOptions( arrayType ) );
    for (String value : values) {
      meta.appendArrayItem( ns, propertyName, value );
    }
  }
}

代码示例来源:origin: apache/tika

if (ns != null) {
  try {
    XMPProperty prop = xmpData.getProperty( ns, keyParts[1] );
      int size = xmpData.countArrayItems( ns, keyParts[1] );
      value = new String[size];
      boolean onlySimpleChildren = true;
        prop = xmpData.getArrayItem( ns, keyParts[1], i + 1 );
        if (prop.getOptions().isSimple()) {
          value[i] = prop.getValue();

代码示例来源:origin: apache/tika

private void checkOOXMLMetadata(XMPMeta xmp) throws XMPException {
  // check simple property
  XMPProperty prop = xmp.getProperty( XMPConst.NS_DC, "language" );
  assertNotNull( prop );
  assertEquals( "language", prop.getValue() );
  // check lang alt
  prop = xmp.getLocalizedText( XMPConst.NS_DC, "title", null, XMPConst.X_DEFAULT );
  assertNotNull( prop );
  assertEquals( "title", prop.getValue() );
  // check array
  prop = xmp.getArrayItem( XMPConst.NS_DC, "subject", 1 );
  assertNotNull( prop );
  assertEquals( "keyword1", prop.getValue() );
  prop = xmp.getArrayItem( XMPConst.NS_DC, "subject", 2 );
  assertNotNull( prop );
  assertEquals( "keyword2", prop.getValue() );
  // check OOXML specific simple property
  prop = xmp.getProperty( OfficeOpenXMLCore.NAMESPACE_URI, "lastModifiedBy" );
  assertNotNull( prop );
  assertEquals( "lastModifiedBy", prop.getValue() );
}

代码示例来源:origin: apache/tika

/**
 * Returns the value of a simple property or the first one of an array. The given name must
 * contain a namespace prefix of a registered namespace.
 *
 * @see org.apache.tika.metadata.Metadata#get(java.lang.String)
 */
@Override
public String get(String name) {
  checkKey( name );
  String value = null;
  String[] keyParts = splitKey( name );
  String ns = registry.getNamespaceURI( keyParts[0] );
  if (ns != null) {
    try {
      XMPProperty prop = xmpData.getProperty( ns, keyParts[1] );
      if (prop != null && prop.getOptions().isSimple()) {
        value = prop.getValue();
      }
      else if (prop != null && prop.getOptions().isArray()) {
        prop = xmpData.getArrayItem( ns, keyParts[1], 1 );
        value = prop.getValue();
      }
      // in all other cases, null is returned
    }
    catch (XMPException e) {
      // Ignore
    }
  }
  return value;
}

代码示例来源:origin: apache/tika

/**
 * Creates a simple property.
 *
 * @param tikaKey
 *            Key in the Tika metadata map
 * @param ns
 *            namespace the property should be created in
 * @param propertyName
 *            name of the property
 * @throws XMPException
 *             if the property could not be created
 */
protected void createProperty(String tikaKey, String ns, String propertyName)
    throws XMPException {
  String value = metadata.get( tikaKey );
  if (value != null && value.length() > 0) {
    meta.setProperty( ns, propertyName, value );
  }
}

代码示例来源:origin: apache/tika

@Test
public void convert_OOXMLMetadataWithoutMimetype_onlyGeneralMetadataconverted()
    throws XMPException, TikaException {
  setupOOXMLMetadata( tikaMetadata );
  XMPMeta xmp = TikaToXMP.convert( tikaMetadata, null );
  // general metadata is converted
  // check simple property
  XMPProperty prop = xmp.getProperty( XMPConst.NS_DC, "language" );
  assertNotNull( prop );
  assertEquals( "language", prop.getValue() );
  // check lang alt
  prop = xmp.getLocalizedText( XMPConst.NS_DC, "title", null, XMPConst.X_DEFAULT );
  assertNotNull( prop );
  assertEquals( "title", prop.getValue() );
  // OOXML one is not, the namespace has also not been registiered as the converter has not
  // been used
  XMPMetaFactory.getSchemaRegistry().registerNamespace( OfficeOpenXMLCore.NAMESPACE_URI,
      OfficeOpenXMLCore.PREFIX );
  prop = xmp.getProperty( OfficeOpenXMLCore.NAMESPACE_URI, "lastModifiedBy" );
  assertNull( prop );
}

代码示例来源:origin: apache/tika

/**
 * Checks if the named property is an array.
 *
 * @see org.apache.tika.metadata.Metadata#isMultiValued(java.lang.String)
 */
@Override
public boolean isMultiValued(String name) {
  checkKey( name );
  String[] keyParts = splitKey( name );
  String ns = registry.getNamespaceURI( keyParts[0] );
  if (ns != null) {
    try {
      XMPProperty prop = xmpData.getProperty( ns, keyParts[1] );
      return prop.getOptions().isArray();
    }
    catch (XMPException e) {
      // Ignore
    }
  }
  return false;
}

代码示例来源:origin: apache/tika

/**
 * Removes the given property from the XMP data. If it is a complex property the whole subtree
 * is removed
 *
 * @see org.apache.tika.metadata.Metadata#remove(java.lang.String)
 */
@Override
public void remove(String name) {
  checkKey( name );
  String[] keyParts = splitKey( name );
  String ns = registry.getNamespaceURI( keyParts[0] );
  if (ns != null) {
    xmpData.deleteProperty( ns, keyParts[1] );
  }
}

代码示例来源:origin: org.apache.tika/tika-xmp

if (ns != null) {
  try {
    XMPProperty prop = xmpData.getProperty( ns, keyParts[1] );
      int size = xmpData.countArrayItems( ns, keyParts[1] );
      value = new String[size];
      boolean onlySimpleChildren = true;
        prop = xmpData.getArrayItem( ns, keyParts[1], i + 1 );
        if (prop.getOptions().isSimple()) {
          value[i] = prop.getValue();

代码示例来源:origin: apache/tika

@Test
public void process_genericConversion_ok() throws TikaException, XMPException {
  xmpMeta.process( tikaMetadata, GENERIC_MIMETYPE );
  XMPMeta xmp = xmpMeta.getXMPData();
  // check simple property
  XMPProperty prop = xmp.getProperty( XMPConst.NS_DC, "format" );
  assertNotNull( prop );
  assertEquals( GENERIC_MIMETYPE, prop.getValue() );
  // check lang alt
  prop = xmp.getLocalizedText( XMPConst.NS_DC, "title", null, XMPConst.X_DEFAULT );
  assertNotNull( prop );
  assertEquals( "title", prop.getValue() );
  // check array
  prop = xmp.getArrayItem( XMPConst.NS_DC, "subject", 1 );
  assertNotNull( prop );
  assertEquals( "keyword1", prop.getValue() );
  prop = xmp.getArrayItem( XMPConst.NS_DC, "subject", 2 );
  assertNotNull( prop );
  assertEquals( "keyword2", prop.getValue() );
}

代码示例来源:origin: com.github.lafa.tikaNoExternal/tika-xmp

/**
 * Returns the value of a simple property or the first one of an array. The given name must
 * contain a namespace prefix of a registered namespace.
 *
 * @see org.apache.tika.metadata.Metadata#get(java.lang.String)
 */
@Override
public String get(String name) {
  checkKey( name );
  String value = null;
  String[] keyParts = splitKey( name );
  String ns = registry.getNamespaceURI( keyParts[0] );
  if (ns != null) {
    try {
      XMPProperty prop = xmpData.getProperty( ns, keyParts[1] );
      if (prop != null && prop.getOptions().isSimple()) {
        value = prop.getValue();
      }
      else if (prop != null && prop.getOptions().isArray()) {
        prop = xmpData.getArrayItem( ns, keyParts[1], 1 );
        value = prop.getValue();
      }
      // in all other cases, null is returned
    }
    catch (XMPException e) {
      // Ignore
    }
  }
  return value;
}

代码示例来源:origin: apache/tika

/**
 * Sets the given property. If the property already exists, it is overwritten. Only simple
 * properties that use a registered prefix are stored in the XMP.
 *
 * @see org.apache.tika.metadata.Metadata#set(java.lang.String, java.lang.String)
 */
@Override
public void set(String name, String value) {
  checkKey( name );
  String[] keyParts = splitKey( name );
  String ns = registry.getNamespaceURI( keyParts[0] );
  if (ns != null) {
    try {
      xmpData.setProperty( ns, keyParts[1], value );
    }
    catch (XMPException e) {
      // Ignore
    }
  }
}

代码示例来源:origin: org.apache.tika/tika-xmp

/**
 * Checks if the named property is an array.
 *
 * @see org.apache.tika.metadata.Metadata#isMultiValued(java.lang.String)
 */
@Override
public boolean isMultiValued(String name) {
  checkKey( name );
  String[] keyParts = splitKey( name );
  String ns = registry.getNamespaceURI( keyParts[0] );
  if (ns != null) {
    try {
      XMPProperty prop = xmpData.getProperty( ns, keyParts[1] );
      return prop.getOptions().isArray();
    }
    catch (XMPException e) {
      // Ignore
    }
  }
  return false;
}

代码示例来源:origin: org.apache.tika/tika-xmp

/**
 * Removes the given property from the XMP data. If it is a complex property the whole subtree
 * is removed
 *
 * @see org.apache.tika.metadata.Metadata#remove(java.lang.String)
 */
@Override
public void remove(String name) {
  checkKey( name );
  String[] keyParts = splitKey( name );
  String ns = registry.getNamespaceURI( keyParts[0] );
  if (ns != null) {
    xmpData.deleteProperty( ns, keyParts[1] );
  }
}

代码示例来源:origin: drewnoakes/metadata-extractor

public void setXMPMeta(@NotNull XMPMeta xmpMeta)
{
  _xmpMeta = xmpMeta;
  try {
    int valueCount = 0;
    IteratorOptions options = new IteratorOptions().setJustLeafnodes(true);
    for (Iterator i = _xmpMeta.iterator(options); i.hasNext(); ) {
      XMPPropertyInfo prop = (XMPPropertyInfo)i.next();
      if (prop.getPath() != null) {
        valueCount++;
      }
    }
    setInt(TAG_XMP_VALUE_COUNT, valueCount);
  } catch (XMPException ignored) {
  }
}

代码示例来源:origin: com.github.lafa.tikaNoExternal/tika-xmp

if (ns != null) {
  try {
    XMPProperty prop = xmpData.getProperty( ns, keyParts[1] );
      int size = xmpData.countArrayItems( ns, keyParts[1] );
      value = new String[size];
      boolean onlySimpleChildren = true;
        prop = xmpData.getArrayItem( ns, keyParts[1], i + 1 );
        if (prop.getOptions().isSimple()) {
          value[i] = prop.getValue();

代码示例来源:origin: apache/tika

@Test
public void convert_genericMetadataAllQualified_allConverted() throws XMPException,
    TikaException {
  // simple property
  tikaMetadata.set( TikaCoreProperties.FORMAT, GENERIC_MIMETYPE );
  // language alternative
  tikaMetadata.set( TikaCoreProperties.TITLE, "title" );
  // array
  tikaMetadata.set( TikaCoreProperties.SUBJECT, new String[] { "keyword1", "keyword2" } );
  XMPMeta xmp = TikaToXMP.convert( tikaMetadata, null );
  // check simple property
  XMPProperty prop = xmp.getProperty( XMPConst.NS_DC, "format" );
  assertNotNull( prop );
  assertEquals( GENERIC_MIMETYPE, prop.getValue() );
  // check lang alt
  prop = xmp.getLocalizedText( XMPConst.NS_DC, "title", null, XMPConst.X_DEFAULT );
  assertNotNull( prop );
  assertEquals( "title", prop.getValue() );
  // check array
  prop = xmp.getArrayItem( XMPConst.NS_DC, "subject", 1 );
  assertNotNull( prop );
  assertEquals( "keyword1", prop.getValue() );
  prop = xmp.getArrayItem( XMPConst.NS_DC, "subject", 2 );
  assertNotNull( prop );
  assertEquals( "keyword2", prop.getValue() );
}

代码示例来源:origin: org.apache.tika/tika-xmp

/**
 * Returns the value of a simple property or the first one of an array. The given name must
 * contain a namespace prefix of a registered namespace.
 *
 * @see org.apache.tika.metadata.Metadata#get(java.lang.String)
 */
@Override
public String get(String name) {
  checkKey( name );
  String value = null;
  String[] keyParts = splitKey( name );
  String ns = registry.getNamespaceURI( keyParts[0] );
  if (ns != null) {
    try {
      XMPProperty prop = xmpData.getProperty( ns, keyParts[1] );
      if (prop != null && prop.getOptions().isSimple()) {
        value = prop.getValue();
      }
      else if (prop != null && prop.getOptions().isArray()) {
        prop = xmpData.getArrayItem( ns, keyParts[1], 1 );
        value = prop.getValue();
      }
      // in all other cases, null is returned
    }
    catch (XMPException e) {
      // Ignore
    }
  }
  return value;
}

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com