在 Java 中,有什么东西可以开箱即用来根据区域设置决定默认纸张尺寸吗?
我正在构建一个 Web 应用程序,需要生成一个 PDF 文档。它的大小可以是 letter、legal、A4 等,具体取决于语言环境。从 Web 应用程序中,我可以获得访问者的区域设置信息,例如国家/地区等。
最佳答案
java.awt.PageAttributes有一个方法叫做 setMediaToDefault()应该做到这一点。
如果您相信它的 javadoc:
The default size for locales in the United States and Canada is MediaType.NA_LETTER. The default size for all other locales is MediaType.ISO_A4.
所以,如果你想窃取借用它的实现:
public void setMediaToDefault(){
String defaultCountry = Locale.getDefault().getCountry();
if (defaultCountry != null &&
(defaultCountry.equals(Locale.US.getCountry()) ||
defaultCountry.equals(Locale.CANADA.getCountry()))) {
setMedia(MediaType.NA_LETTER);
} else {
setMedia(MediaType.ISO_A4);
}
}
关于java - 有什么可以根据语言环境决定默认纸张尺寸的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26204391/