seems, there are 2 different fields:

API: <text:author-name text:fixed="false">MyName</text:author-name>

GUI: <text:initial-creator>MyName</text:initial-creator>

Regards

Oliver

Am 23.08.2012 07:58 schrieb dongjun zong:
> Hi All,
>       I am tring to use UNO API create  and load an Author field, I found
> below difference.
> 1. Author Field created by UNO API, after save the document od MS Doc
> format, field will be lost
> 2. Author Field create by UI Insert->Fields->Author, when access the field
> by UNO API, there is no Property  Name "Content" but has Porpety Name
> "Author"
> 
> Is this a UNO API bug?
> 
>  Property Name list of Author Field created by UI
> AnchorTypes=[Lcom.sun.star.text.TextContentAnchorType;@27391d
> IsFixed=false
> TextWrap=com.sun.star.text.WrapTextMode@1b1aa65
> CurrentPresentation=Author AOO
> IsFieldUsed=true
> IsFieldDisplayed=true
> AnchorType=com.sun.star.text.TextContentAnchorType@af8358
> Author=Author AOO
> 
> Propoerty Name List of Author Field Created by UNO API
> 
> AnchorTypes=[Lcom.sun.star.text.TextContentAnchorType;@29428e
> IsFixed=true
> TextWrap=com.sun.star.text.WrapTextMode@3901c6
> CurrentPresentation=Author Test AOO
> IsFieldUsed=true
> IsFieldDisplayed=true
> AnchorType=com.sun.star.text.TextContentAnchorType@edc3a2
> FullName=false
> Content=Author Test AOO
> 
> 
> Below is my code:
> public void createAndLoadAuthorField(XComponent component, String author) {
>         XMultiServiceFactory sevriceFactory = (XMultiServiceFactory)
> UnoRuntime.queryInterface(XMultiServiceFactory.class, component);
>         XTextField authorField;
>         try {
>             authorField =
> (XTextField)UnoRuntime.queryInterface(XTextField.class,
> sevriceFactory.createInstance("com.sun.star.text.textfield.Author"));
>             XPropertySet props =
> (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, authorField);
>             props.setPropertyValue("Content", author);
> 
> 
> 
>  document.getText().insertTextContent(document.getText().getEnd(),
>                      authorField, true);
>              XTextFieldsSupplier fieldsSupplier =
> UnoRuntime.queryInterface(XTextFieldsSupplier.class, document);
>              XEnumerationAccess xEnumeratedFields =
> fieldsSupplier.getTextFields();
> 
>                 XEnumeration enumeration =
> xEnumeratedFields.createEnumeration();
>                 while (enumeration.hasMoreElements()) {
>                           Object field =  enumeration.nextElement();
> 
>                         XPropertySet props2 =
> (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, field);
>                         XPropertySetInfo info = props2.getPropertySetInfo();
>                         Property[] pp = info.getProperties();
>                         for (Property p : pp) {
>                             System.out.println(p.Name + "=" +
> props2.getPropertyValue(p.Name));
>                         }
>                 }
> 
>         } catch (com.sun.star.uno.Exception e) {
>             e.printStackTrace();
>         }
>     }
> 


-- 

GnuPG key 0xCFD04A45: 8822 057F 4956 46D3 352C 1A06 4E2C AB40 CFD0 4A45

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to