2014-10-05 4 views
5

Innerhalb von Java, gibt es etwas, das ich out-of-Box verwenden kann, um die Standardpapiergröße basierend auf Gebietsschema zu entscheiden?Alles zum Festlegen der Standardpapiergröße basierend auf dem Gebietsschema?

Ich baue eine Webanwendung und muss ein PDF-Dokument generieren. Seine Größe kann je nach Gebietsschema Buchstabe, Recht, A4 usw. sein. Von der Webanwendung kann ich die Gebietsinformation des Besuchers wie Land, etc. erhalten.

+0

Brief und A3 sind sehr, sehr unterschiedliche Größen. – NPE

+0

Ich nehme an, Sie mager 'US Buchstabe 'gegen' A4'. –

+0

Boris, danke. Ich habe A3 in A4 geändert. – curious1

Antwort

2

java.awt.PageAttributes hat eine Methode, die setMediaToDefault() genannt wird, das gerade das tun sollte.

Wenn Sie seine javadoc glauben:

Die Standardgröße für Gegenden in den USA und Kanada ist MediaType.NA_LETTER. Die Standardgröße für alle anderen Ländereinstellungen ist MediaType.ISO_A4.

Also, wenn Sie wollen stehlen seine Umsetzung ausleihen:

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); 
    } 
} 
+0

Mureinik, danke für Ihre Infos. Wenn die ganze Welt entweder LETTER (USA und Kanada) oder A4 (den Rest) benutzt. Dann sollte es einfach genug sein. Prost. – curious1