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]