2017-01-20 4 views
1

При преобразовании больших файлов html в pdf, получение ошибки с ошибкой конверсии. Для того же html-файла иногда он работает. В основном, когда больше файлов есть, один или два не получаются.PDFTron - HTML2PDF - Ошибка работы файла с файлом

PdfTron Версия: сентябрь 2016, Окружающая среда: Linux, Java 8

Круги в этой статье, https://www.pdftron.com/pdfnet/samplecode/HTML2PDFTest.java.html

String inputHtml = "/myfolder/output.html"; 
String outputPdf = "/myfolder/output.pdf"; 
PDFNet.initialize(); 
PDFDoc doc = new PDFDoc(); 
HTML2PDF converter = new HTML2PDF(); 
converter.setLandscape(false); 
converter.setPaperSize(9); 
converter.insertFromHtmlString(new String(Files.readAllBytes(Paths.get(inputHtml)))); 
if (converter.convert(doc)) { 
    doc.initSecurityHandler(); 
    doc.save(outputPdf, SDFDoc.e_linearized, null); 
} else { 
    log.error("Conversion failed. HTTP Code: " + converter.getHTTPErrorCode() + "\n" + converter.getLog()); 
} 

Выход

Conversion failed. HTTP Code: 0 
Loading pages (1/6) 
[>               ] 0% 
[======>              ] 10% 
[=================>           ] 29% 
[===================>          ] 33% 
[=====================>          ] 36% 
[============================================================] 100% 
Counting pages (2/6)            
[============================================================] Object 1 of 1 
Resolving links (4/6)              
[============================================================] Object 1 of 1 
Loading headers and footers (5/6)           
Printing pages (6/6) 
[>               ] Preparing 
[==============================>        ] Page 1 of 2 
[============================================================] Page 2 of 2 
Done                  
Post Process Error: Operation file seek failed 
StdFile.cpp:478 
DataWrite 
+0

Вы переписываете файл по пути '\ myfolder \ output.pdf'? –

+0

@FahadSiddiqui, Нет, я не /myfolder/output.pdf только, например. Я использую новое имя файла с уникальным идентификатором каждый раз, – Sheel

ответ

1

Скорее всего, существует некоторая проблема с чтением/записью с используемой временной папкой.

Пожалуйста, попробуйте следующее.

PDFNet.setTempPath(folder_that_you_know_your_process_can_read_write); 
PDFNet.initialize(); 
0

В Java вы не можете использовать простые обратные косые черты в строках, представляющих путь. Строка "\myfolder\output.pdf" равна "myfolderoutput.pdf". Используйте либо двойную обратную косую черту (\), либо косую черту (/)

+0

Извините, полностью игнорируйте эту обратную косую черту, т.е. опечатку. Обновленный вопрос. – Sheel

 Смежные вопросы

  • Нет связанных вопросов^_^