Обновление PDF.js до PDF.js ExpressJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Обновление PDF.js до PDF.js Express

Сообщение Anonymous »

Я работаю над проектом Struts 1, в котором ранее был реализован PDF.js для предварительного просмотра документов. Поскольку библиотека PDF.js не поддерживала водяные знаки, я решил перейти на PDF.js Express.
Приведенный ниже фрагмент кода представляет собой предыдущую реализацию
Тело HTML: Скрипт:

Код: Выделить всё

$(document).ready(function() {
var base='web/viewer.html?file=';
var subUrl=encodeURIComponent('${pageContext.request.contextPath}/getImage.do?imageDocID='+document.getElementById('imageDocID').value);
var url=base+subUrl+'#page=1';
$('#content').attr('src',url);
});

GetImage.do перейдет на страницу GetImageAction.java, создаст и получит PDF-файл,

Код: Выделить всё

struts-config.xml
: GetImageAction.java

Код: Выделить всё

public class GetImageAction extends GenericAction {

static Object imageServerLock = new Object();

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException, Exception {

UserProfile userProfile = (UserProfile) request.getSession().getAttribute("UserProfile");

ActionForward actionForward = null;
String imageDocID = request.getParameter("imageDocID");
if (actionForward == null)
{
byte[] appletData = ImageManager.getMod2TifImage(imageDocID);
ObjectOutputStream outputToApplet = new ObjectOutputStream(response.getOutputStream());
outputToApplet.writeObject(appletData);
outputToApplet.flush();
outputToApplet.close();

actionForward = null;
}

return actionForward;

ActionForward actionForward = null;
try{

actionForward = super.execute(mapping, form, request, response);

String imageDocID = request.getParameter("imageDocID");

System.out.println(new Timestamp(System.currentTimeMillis()).toString() + "\trequest.getRemoteAddr() "
+ request.getRemoteAddr()
+ " Utility.getClientIp(request) : "
+ Utility.getClientIp(request) + " - " + imageDocID
+ " UserProfileID: " + userProfile.getUserProfileID());
byte[] image = null;
synchronized (imageServerLock) {

if(request.getSession().getAttribute("IMAGE-"+imageDocID) != null)
image = (byte[]) request.getSession().getAttribute("IMAGE-"+imageDocID);

if (actionForward == null) {
byte[] dest = addWatemark(image);

try{
PdfReader reader = new PdfReader(dest);
int pages = reader.getNumberOfPages();
}catch(Exception ex){
ex.printStackTrace();
image = ImageManager.optimizePDF(image);
dest = addWatemark(image);
}

response.setContentType("application/pdf");
OutputStream outs = response.getOutputStream();
outs.write(dest);
outs.close();
actionForward = null;
if(request.getSession().getAttribute("IMAGE-"+imageDocID) != null)
request.getSession().removeAttribute("IMAGE-"+imageDocID);

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

LoggerUtils.info(this.getClass().getName() + " - execute method -->  Exit");
return actionForward;
}
Когда я добавил новый PDF.js Express, он говорит, что нужно использовать этот формат.
Потому что у меня нет прямого пути к сгенерированный PDF-файл, я не могу использовать свойство InitialDoc.
Можете ли вы предложить мне какое-либо решение, как использовать PDF.js Express?

Подробнее здесь: https://stackoverflow.com/questions/772 ... js-express
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»