Rober,

To calculate column width HSSFSheet.autoSizeColumn uses Java2D classes
that throw exception if graphical environment is not available.
However, some tasks such as computing text layout can be
done in a headless mode, that is in the absence of graphical
environment.

To use headless mode you must set the following system property:
java.awt.headless=true
either via -Djava.awt.headless=true startup parameter or via 
System.setProperty("java.awt.headless", "true").

As Dave mentioned, there can be slight differences in the
result:
 - Native graphical toolkits (WinXP or Unix with X11) are always
more precise than the headless toolkit. The way the font
metrics are calculated may be different in headless and headful modes.
Moreover, it may different on different platforms, i.e. there can be
minor differences between text metrics calculated under Solaris and
under WinXP. That is why projects that require high-precision,
platform-independent graphic calculations use their own mechanism to measure 
text (for
example, Apache FOP). I don't think it's an issue in our case.
Auto-sizing in Excel is a rough operation - user needs to
APPROXIMATELY set column width to fit the text.
 - If some of the fonts are not available, JDK uses the default font.
So if any fonts are missing in production you need to install them and
 copy font files to $JAVA_HOME/jre/lib/fonts/.

 P.S. It's good you raised this question. I'm going to update the docs
 to reflect it.
 
Regards,
Yegor

DF> Rober,

DF> As Andy says ask on the list.

DF> In your Tomcat startup on the unix server you need to be sure to set  
DF> the following property -

DF>   -Djava.awt.headless=true

DF> Do that and all should be good.

DF> If you notice slight differences in widths between windows and unix  
DF> that may be due to the fact that autoSizeColumn uses fonts to do its  
DF> magic. (Which is why it needs the "graphic environment") So, then you  
DF> might want to install fonts into /usr/java/jre/lib/fonts/ on the unix  
DF> box. If you get stuck with that then you can ask again - Yegor can  
DF> explain the exact rules.

DF> Regards,
DF> Dave

DF> On May 3, 2007, at 6:57 PM, [EMAIL PROTECTED] wrote:

>> DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
>> RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
>> <http://issues.apache.org/bugzilla/show_bug.cgi?id=42331>.
>> ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
>> INSERTED IN THE BUG DATABASE.
>>
>> http://issues.apache.org/bugzilla/show_bug.cgi?id=42331
>>
>>            Summary: autoSizeColumn. Exception in non graphical  
>> environment
>>            Product: POI
>>            Version: 3.0-dev
>>           Platform: Other
>>         OS/Version: other
>>             Status: NEW
>>           Severity: normal
>>           Priority: P2
>>          Component: HSSF
>>         AssignedTo: [EMAIL PROTECTED]
>>         ReportedBy: [EMAIL PROTECTED]
>>
>>
>> I developed a webapp that generates excel files. Development  
>> environment is
>> Tomcat server under Windows XP. Production server is a Unix machine  
>> with no
>> graphical environment.
>>
>> autoSizeColumn method, from HSSFSheet class, works ok in windows,  
>> but throws an
>> exception in unix environment. The lack of graphical environment  
>> seems to be the
>> reason.
>>
>> -- 
>> Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi? 
>> tab=email
>> ------- You are receiving this mail because: -------
>> You are the assignee for the bug, or are watching the assignee.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> Mailing List:    http://jakarta.apache.org/site/mail2.html#poi
>> The Apache Jakarta POI Project: http://jakarta.apache.org/poi/
>>
>>


DF> ---------------------------------------------------------------------
DF> To unsubscribe, e-mail: [EMAIL PROTECTED]
DF> Mailing List:    http://jakarta.apache.org/site/mail2.html#poi
DF> The Apache Jakarta POI Project: http://jakarta.apache.org/poi/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/

Reply via email to