2015-05-21 3 views
1

У меня есть куча PDF-файлов, которые я объединил по этой точке в коде. В начале объединенного PDF у меня есть страница содержимого, которая ссылается на указанные PDF-файлы соответственно. Эти pdfAction.gotoLocalPage ссылки иногда работают неправильно и вместо этого переходят между нижней и нижней страницами, однако гиперссылки в PDF-закладке всегда работают нормально.iTextPDF гиперссылка, не ссылающаяся на нужное место

Код для закладки:

int pageToLinkTo=prevSectionPageCount+sectionPageCount+numberOfIndexPages+currentIndexPage+1; 

document.put("Title", documentName); 
document.put("Action", "GoTo");     
document.put("Page",String.format("%d Fit", pageToLinkTo)); 

Код ссылки страницы Содержание:

PdfAction action = PdfAction.gotoLocalPage(pageToLinkTo, new PdfDestination(PdfDestination.FIT,-1,-1,0), stamper.getWriter());        
chunk.setAction(action); 

Обе эти оценки одной и той же странице. Может быть что-то не так с исходными файлами PDF? Единственное заметное различие между ссылками, которые работают, и ссылками, которые переходят в неправильное место, заключается в том, что исходный PDF-файл имеет немного отличающийся размер страницы (0,1 дюйма на дюйм).

Любая помощь будет оценена!

Благодаря

ответ

2

Я вижу, что вы создаете назначения, как это:

new PdfDestination(PdfDestination.FIT,-1,-1,0) 

Это странный способ создать пункт назначения так, что страница отображается по размеру окна просмотра. Пожалуйста, взгляните на The ABC of PDF with iText. Книга еще не закончена, но она бесплатна, и в таблице 3.7 вы можете видеть, какие адресаты принимают сколько параметров.

Если вы хотите, чтобы страница по размеру окна просмотра, вам не нужны какие-либо дополнительные параметры:

new PdfDestination(PdfDestination.FIT) 

Там находится пункт назначения, который принимает три дополнительных параметра:

new PdfDestination(PdfDestination.XYZ, x, y, z) 

В этом регистр x и y - координаты, а z - коэффициент масштабирования. Я думаю, что вы запутываете средство просмотра PDF, добавляя параметры x, y и z, когда все, что вы хотите, чтобы оно соответствовало странице в окне просмотра.

+0

Всё. Большое спасибо за вашу помощь. Дополнительные параметры должны были отбрасывать его. Любопытно, что 99% PDF-файлов отлично работали, кроме избранных. В любом случае, он работает сейчас. Спасибо за ссылку на этот ресурс. – Smittey

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