This is how I do it. You can call this action inside iframe or in regular jsp
public class GeneratePdf extends ActionSupport{ private InputStream inputStream; public String execute(){ HttpServletResponse response = ServletActionContext.getResponse(); Document document = new Document(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); try { PdfWriter.getInstance(document, buffer); document.open();
In your struts.xml
<action name="GeneratePdf" class="com.xxx.action.GeneratePdf"> <result name="success" type="stream"> <param name="contentType">application/pdf</param> <param name="inputName">inputStream</param> <param name="contentDisposition">filename="test.pdf"</param> <param name="bufferSize">1024</param> </result> </action>
source share