diff options
| author | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2016-11-02 11:23:51 +0100 | 
|---|---|---|
| committer | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2016-11-02 11:23:51 +0100 | 
| commit | 4ee4d80447ac654848d2c1d77deafde771bf4177 (patch) | |
| tree | 8dcf53c9daabc17ae9c76293509d3a5621bf59cc /pdf-as-pdfbox-2/src | |
| parent | 55c407fce46a1f100398b9cbe405b1560ea6d75e (diff) | |
| parent | 3e46f2b7ba2bf497a8f73d5f2498850f27904ff1 (diff) | |
| download | pdf-as-4-4ee4d80447ac654848d2c1d77deafde771bf4177.tar.gz pdf-as-4-4ee4d80447ac654848d2c1d77deafde771bf4177.tar.bz2 pdf-as-4-4ee4d80447ac654848d2c1d77deafde771bf4177.zip | |
Merge branch 'master' of gitlab.iaik.tugraz.at:afitzek/pdf-as-4
Diffstat (limited to 'pdf-as-pdfbox-2/src')
2 files changed, 24 insertions, 8 deletions
| diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFBoxTable.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFBoxTable.java index e35e3994..17ee60be 100644 --- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFBoxTable.java +++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/PDFBoxTable.java @@ -85,8 +85,22 @@ public class PDFBoxTable {  					case Entry.TYPE_CAPTION:  					case Entry.TYPE_VALUE:  						String value = (String) cell.getValue(); -						cell.setValue(StringUtils -								.convertStringToPDFFormat(value)); +						 +						//Check if the used value font supports all characters in string +						PDFont f = null; +						try{ +							if(valueFont != null){ +								f = valueFont.getFont(); +								f.getStringWidth(value); +							} +						}catch(IllegalArgumentException | IOException e){ +							if(f!=null){ +								logger.warn("Font "+f.getName()+" doesnt support a character in the value "+value); +							} +							value = StringUtils.convertStringToPDFFormat(value); +							cell.setValue(value); +						} +						  						break;  					}  				} @@ -99,11 +113,6 @@ public class PDFBoxTable {  	private void initializeStyle(Table abstractTable, PDFBoxTable parent,  			PDFBOXObject pdfBoxObject) throws IOException {  		this.table = abstractTable; -		try { -			normalizeContent(abstractTable); -		} catch (PdfAsException e) { -			throw new PdfAsWrappedIOException(e); -		}  		if (parent != null) {  			style = Style.doInherit(abstractTable.getStyle(), parent.style); @@ -148,6 +157,12 @@ public class PDFBoxTable {  		padding = style.getPadding();  		bgColor = style.getBgColor(); +		 +		try { +			normalizeContent(abstractTable); +		} catch (PdfAsException e) { +			throw new PdfAsWrappedIOException(e); +		}  	}  	public PDFBoxTable(Table abstractTable, PDFBoxTable parent, float fixSize, diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/TableDrawUtils.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/TableDrawUtils.java index aa2a397d..5162b287 100644 --- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/TableDrawUtils.java +++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox2/TableDrawUtils.java @@ -246,8 +246,9 @@ public class TableDrawUtils {  			contentStream.moveTextPositionByAmount(tx, (ty - fontSize + (descent * (-1))));  			contentStream.appendRawCommands(fontSize + " TL\n"); +			  			for (int k = 0; k < tlines.length; k++) { -				contentStream.drawString(tlines[k]); +				contentStream.showText(tlines[k]);  				if (k < tlines.length - 1) {  					contentStream.appendRawCommands("T*\n");  				} | 
