diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php
index dc6c57002c9ad24af3ca7c9d33ecacd7b80c9051..d8f86063e183d97d355b3e71d04796a1258d4181 100644
--- a/htdocs/core/lib/functions2.lib.php
+++ b/htdocs/core/lib/functions2.lib.php
@@ -105,14 +105,18 @@ function dolGetModulesDirs($subdir='')
 /**
  *  Try to guess default paper format according to language into $langs
  *
- *	@return		string		Defautl paper format code
+ *	@param		Translate	$outputlangs		Output lang to use to autodetect output format if setup not done
+ *	@return		string							Default paper format code
  */
-function dol_getDefaultFormat()
+function dol_getDefaultFormat($outputlangs='')
 {
     global $langs;
+
     $selected='EUA4';
-    if ($langs->defaultlang == 'ca_CA') $selected='CAP4';        // Canada
-    if ($langs->defaultlang == 'en_US') $selected='USLetter';    // US
+    if (empty($outputlangs) || ! is_object($outputlangs)) $outputlangs=$langs;
+
+    if ($outputlangs->defaultlang == 'ca_CA') $selected='CAP4';        // Canada
+    if ($outputlangs->defaultlang == 'en_US') $selected='USLetter';    // US
     return $selected;
 }
 
@@ -739,7 +743,7 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m
         $maskLike = str_replace(dol_string_nospecial('{'.$masktri.'}'),$counterpadded,$maskLike);
         if ($maskrefclient) $maskLike = str_replace(dol_string_nospecial('{'.$maskrefclient.'}'),str_pad("",dol_strlen($maskrefclient),"_"),$maskLike);
         if ($masktype) $maskLike = str_replace(dol_string_nospecial('{'.$masktype.'}'),$masktype_value,$maskLike);
-        
+
         $ref='';
         $sql = "SELECT ".$field." as ref";
         $sql.= " FROM ".MAIN_DB_PREFIX.$table;
@@ -748,7 +752,7 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m
         $sql.= " AND entity IN (".getEntity($table, 1).")";
         if ($where) $sql.=$where;
         if ($sqlwhere) $sql.=' AND '.$sqlwhere;
-        
+
         dol_syslog("functions2::get_next_value sql=".$sql);
         $resql=$db->query($sql);
         if ($resql)
diff --git a/htdocs/core/lib/invoice2.lib.php b/htdocs/core/lib/invoice2.lib.php
index 057dffd7d13925af3f1135ec459fa1ca5a2230af..715ff2f877a4dad7e4ca2a7976ce7decd46a5c83 100644
--- a/htdocs/core/lib/invoice2.lib.php
+++ b/htdocs/core/lib/invoice2.lib.php
@@ -174,7 +174,7 @@ function rebuild_merge_pdf($db, $langs, $conf, $diroutputpdf, $newlangid, $filte
 
 
 	        // Define format of output PDF
-	        $formatarray=pdf_getFormat();
+	        $formatarray=pdf_getFormat($langs);
 	        $page_largeur = $formatarray['width'];
 	        $page_hauteur = $formatarray['height'];
 	        $format = array($page_largeur,$page_hauteur);
diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php
index 4fc377f896ccd5e334a4f056b6e8a08b2118383d..a9f882dd4e1d9f879d225b132b579d7e64c11aa2 100644
--- a/htdocs/core/lib/pdf.lib.php
+++ b/htdocs/core/lib/pdf.lib.php
@@ -29,11 +29,12 @@
 
 
 /**
- *      Return array with format properties of default PDF format
-*
-*      @return     array		Array('width'=>w,'height'=>h,'unit'=>u);
-*/
-function pdf_getFormat()
+ *	Return array with format properties of default PDF format
+ *
+ *	@param		Translate	$outputlangs		Output lang to use to autodetect output format if setup not done
+ *  @return     array							Array('width'=>w,'height'=>h,'unit'=>u);
+ */
+function pdf_getFormat($outputlangs='')
 {
 	global $conf,$db;
 
@@ -43,7 +44,7 @@ function pdf_getFormat()
 	if (empty($conf->global->MAIN_PDF_FORMAT))
 	{
 		include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
-		$pdfformat=dol_getDefaultFormat();
+		$pdfformat=dol_getDefaultFormat($outputlangs);
 	}
 	else $pdfformat=$conf->global->MAIN_PDF_FORMAT;