Java pdf z html kodowanie

0

Witam mam problem korzystam z flying sourcera do generowania pdf z html i cały czasu gubi mi polskie znaki kod tworzenia pdf

 public byte[] generateBytes(String htmlContent) {
		byte[] pdf = null;
		try {

			htmlContent = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE html><html><head></head><body>" + htmlContent + "</body></html>";

			ByteArrayOutputStream out = new ByteArrayOutputStream();

			ITextRenderer renderer = new ITextRenderer();
			renderer.setDocumentFromString(htmlContent);
			renderer.layout();
			renderer.createPDF(out);

			pdf = out.toByteArray();

		} catch (Exception e) {
			e.printStackTrace();
		}
		return pdf;
	}

Robie to jak we wszystkich odnalezionych przykładach używałem też :

 <meta charset="utf-8" /> 


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

i już nie wiem co jest grane :D pomoże ktoś?:P Nawet metode kodujaca jakas znalazlem ale tez nie dziala:

public static  String escapeHTML(String s){
		   StringBuffer sb = new StringBuffer();
		   int n = s.length();
		   for (int i = 0; i < n; i++) {
		    char c = s.charAt(i);
		    switch (c) {
		        case 'ą': sb.append("&#261;"); break;
		        case 'ć': sb.append("&#263;"); break;
		        case 'ę': sb.append("&#281;"); break;
		        case 'ł': sb.append("&#322;"); break;
		        case 'ń': sb.append("&#324;"); break;
		        case 'ó': sb.append("&#243;"); break;
		        case 'ś': sb.append("&#347;"); break;
		        case 'ź': sb.append("&#378;"); break;
		        case 'ż': sb.append("&#380;"); break;
		        case 'Ą': sb.append("&#260;"); break;
		        case 'Ć': sb.append("&#262;"); break;
		        case 'Ę': sb.append("&#280;"); break;
		        case 'Ł': sb.append("&#321;"); break;
		        case 'Ń': sb.append("&#323;"); break;
		        case 'Ó': sb.append("&#211;"); break;
		        case 'Ś': sb.append("&#346;"); break;
		        case 'Ź': sb.append("&#377;"); break;
		        case 'Ż': sb.append("&#379;"); break;

		       default: sb.append(c); break;
		     }
		  }

		    return sb.toString();
		} 
0

Ale możesz pokazać przykład który ci nie działa? Bo może to w twoim inpucie znaki nie są UTF-8?

0

Kolega rozwiązał problem :D trzeba było fonty z katalogu windowsa pobrac jeszcze bez kodowania

1 użytkowników online, w tym zalogowanych: 0, gości: 1