Требования являются функцией экспорта PDF. Многопартийный запуск наконец-то был реализован. Я взял много обхода, и я подозреваю, что этот метод все еще в изгибе.
Существует плагин JSPDF, который может напрямую генерировать PDF на переднем конце, который очень прост, но не поддерживает IE.
внешний интерфейс:
Сначала ввести html2canvas.js
html2canvas (document.body, {// Скриншот объект // Подробные параметры можно настроить здесь OnRendered: function (canvas) {// Образование с обратным вызовом рендеринга canvas.id = "myCanvas"; // Данные изображения Base64 сгенерируются var var var var vArvas.todataurl ('// pn -dataIficificificifice. формат или без параметров var formdata = new FormData (); "/Bulletin/exportpdf "); == true) {alertbox ({content: 'PDF Успешно! }}}); // Преобразовать данные URL -адреса изображения с BASE64 в BlobFunction ConvertBase64URLTOBLOB (urldata) {// Удалить заголовок URL и преобразовать его в Byte var bytes = window.atob (urldata.split (',') [1]); // защищать исключение и преобразовать код ASCII с менее чем 0 в более 0 var ab = new Arraybuffer (bytes.length); var ia = new uint8array (ab); for (var i = 0; i <bytes.length; i ++) {ia [i] = bytes.charcodeat (i); } вернуть новый Blob ([ab], {type: 'image/png'});}Совместимость: Firefox 3.5+, Chrome, Opera, IE10+
Не поддерживается: iframe, Brower Plugin, Flash
Стопковые картинки должны быть объединены с заголовком сервера поперечного домена, чтобы разрешить перекрестные запросы
Access-Control-Allow-Origin: * Access-Control-Allow-Credentials: True
Изображение SVG не может быть непосредственно поддерживать, есть патч, но я не пробовал его.
IE9 не поддерживает формат данных FormData и не поддерживает Blob. В этом случае строка 64BASE, сгенерированная Canvas, будет удалена, а затем перенесена напрямую на фон. После получения фона:
String Base64 = img.split (",") [1]; base64decoder decode = new Base64decoder (); byte [] imgbyte = decode.decodebuffer (base64);задняя часть:
Импортировать пакет JAR ITEXT
@Requestmapping ("/exportPdf") public @Responsebody void exportpdf (MultiparThttpLERVLERQUEST -запрос, httpservletresponse response) throws servletexception, ioException {resultData result = new ResultData (); // Пользовательский формат результата string filePath = "c: //exportpdf2.pdf"; String ImagePath = "c: //exportimg2.bmp"; Document Document = новый документ (); try {map getMap = request.getFileMap (); Multiplaartfile mfile = (MultipartFile) getMap.get ("imgdata"); // Получить DATA inputStream file = mfile.getInputStream (); byte [] filebyte = filecopyutils.copytobytearray (file); FileImageOutputStream ImageOutput = new FileImageOutputStream (новый файл (imagePath)); // Открыть ImageOutput.Write (fileByte, 0, 0, fileByte.length); // Сгенерирование локального файла изображения imageOutput.close (); Pdfwriter.getInstance (документ, New FileOutputStream (filePath)); // itextpdf file // document.setPagesize (pagesize.a2); document.open (); Document.Add (новый абзац ("просто тест ...")); Image Image = image.getInstance (ImagePath); // itext-pdf-image float heigth = image.getheight (); float width = image.getWidth (); int процент = getpercent2 (heigth, width); // масштабирование изображения до масштабирования Image.SetAlignment (image.middle); Image.scalepercent (процент+3); Document.Add (Image); document.close (); result.setSuccess (true); OperateLogService.AddoPerateLoginfo (запрос, «Экспортируется успешно: экспортированный брифинг PDF успешно»); } catch (documentException de) {System.err.println (de.getMessage ()); } catch (Exception e) {e.printstackTrace (); result.setSuccess (false); result.setErrormessage (e.toString ()); try {operatorlogservice.addoperateLogerror (запрос, «экспорт не удастся: исключение сервера»); } catch (Exception e1) {e1.printstackTrace (); }} response.getwriter (). Float P2 = 0,0F; P2 = 530 / W * 100; p = math.round (p2); вернуть P;}ITEXT-это хорошо известный проект с открытым исходным кодом, библиотека классов Java, используемая для генерации PDF-документов.
Быстрая скорость обработки и поддерживает множество функций PDF "Advanced".
Однако, когда возникает ошибка ITEXT, вы не сообщите об ошибке. Вы перепрыгнете через него и оглянетесь на документ PDF и не можете найти причину ошибки. Это действительно разочарование.
Наконец, я хотел бы поблагодарить соответствующие сообщения в блоге и сообщения в Интернете и Baidu Search.
Приведенная выше статья сохраняет страницу HTML в качестве изображения и записывает изображение в PDF для достижения полной реализации (рекомендуется) - это весь контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.