Hi,Antonio Thank you for your reply. Here is my whole jsp code. It is OK except that I want: response.setContentType("application/pdf); rather than: response.setContentType("application/pdf;charset=Shift_JIS"); (I'm looking into .java in tomcat work directory which jasper generates.)
<%@ page language="java" import="java.io.*, com.lowagie.text.*, com.lowagie.text.pdf.*" %> <%@ page contentType="application/pdf" pageEncoding="Shift_JIS" %> <% Document document = new Document(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); PdfWriter pdfwriter = PdfWriter.getInstance( document, buffer ); document.open(); BaseFont bf = BaseFont.createFont("HeiseiKakuGo-W5","UniJIS-UCS2-H",false); PdfContentByte pcb = pdfwriter.getDirectContent(); pcb.beginText(); pcb.setTextMatrix(50,800); pcb.setFontAndSize(bf,12); pcb.setLeading(15); pcb.showText("English"); pcb.showText("---JAPANESE CHARACTER HERE----"); pcb.endText(); document.close(); response.setHeader("Content-Disposition","attachment; filename=pdf4.pdf"); response.setContentLength(buffer.size()); ServletOutputStream output = response.getOutputStream(); buffer.writeTo(output); output.flush(); %> > What are you using to make the PDF content slip into the wire? > > If you are using a "Writer" you get from response.getWriter(), you may > have interest in trying to use the "OutputStream", as in > response.getOutputStream(). > > This is what the description of the getWriter method says: Returns a > print writer for writing formatted text responses. The MIME type of the > response will be modified, if necessary, to reflect the character > encoding used, through the /charset=.../ property. This means that the > content type must be set before calling this method. > > So don't use it for binary things... > > > Antonio Fiol > > > seiji takegata wrote: > > >Hi Veniamin, > >Thank you for your reply. > > > > > > > >> What it means "character is not encoded correctly"? If PDF content > >>is unreadable, then that's PDF file problem, not Tomcat. Is this PDF > >>opens correctly by itself, i.e. when you open it through Adobe Reader? > >> Anyway, just do response.setContentType("application/pdf") and let > >>browser open it accordingly. > >> > >> > >> > > > >I tried. Then Japanese characters are all dimed (converted to > >randome characters like noise). > > > >Because itext asumes Japanese character as Shift_JIS encoded, > >but Tomcat default is UTF-8, so I have to specify pageEncoding > >attribute in page directive. > > > >I can see PDF content is correct when I save it as a file and > >open with Adobe Reader. > > > >My point is why tomcat put charset option to contentType when I > >specify pageEncoding attribute. I might write code to generate > >image from String, then the content should not be attributed > >like "charset=Shift_JIS". but still I need to specify > >pageEncoding attribute for correct character encoding. > > > >I just want tomcat to stop adding charset option when > >pageEncoding attribute is specified. > > > >Am I wrong? > > > > > > > >>seiji takegata wrote: > >> > >> > >> > >>>I'm trying to generate PDF document directory from JSP using > >>>itext library. I have an encoding problem. > >>> > >>>I put pageEncoding and contentType attributes in page directive > >>>as: > >>> > >>><%@ page contentType="application/pdf"%> > >>><%@ page pageEncoding="Shift_JIS"%> > >>> > >>>Then tomcat (or jasper) translates them like: > >>> > >>>response.setContentType("application/pdf;charset=Shift_JIS"); > >>> > >>>IE will not open AdobeReader, show download dialog instead. > >>> > >>>If I do not specify pageEncoding, then the line above will be: > >>> > >>>response.setContentType("application/pdf"); > >>> > >>>AdobeReader opens as I expect. But character is not encoded > >>>correctory. > >>> > >>>I wonder why "charset=Shift_JIS" is added to contentType string. > >>>I want remove it from the contentType string, or remove whole > >>>the line. I think I can specify contentType by > >>> > >>>response.setCotentType("application/pdf"); > >>> > >>> > >> > >> > >> > >-- > >seiji takegata > >[EMAIL PROTECTED] > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]