2016-08-12 2 views
1

Как сделать PdfAction, который откроет другой PDF на определенной странице с уровнем масштабирования Fit Page? Один из конструкторов для PdfAction занимает путь PDF и номер целевой страницы, но по умолчанию он масштабируется до Fit Width. Я не вижу никаких методов/конструкторов, которые включают параметр «желаемого масштабирования». Разве я не вижу этого, или есть способ изменить уровень масштабирования после того, как был сделан PdfAction?Как создать действие для открытия другого PDF-страницы на странице с увеличением Fit-страницы в iTextSharp?

Вот код, который я до сих пор:

var pdfAnnotation = PdfAnnotation.CreateLink(
    pdfStamper.Writer, 
    linkOutline, 
    PdfAnnotation.HIGHLIGHT_NONE, 
    new PdfAction(pdfPath, targetPageNumber)); 

pdfAnnotation.BorderStyle = new PdfBorderDictionary(0.0F, 0); 

pdfStamper.AddAnnotation(pdfAnnotation, sourcePageNumber); 

ответ

1

Я не уверен, если это идиоматическое решение моей проблемы, но я был в состоянии обновить уровень масштабирования после PdfAction был создан заменяя одно из значений хэш-таблицы:

var action = new PdfAction(pdfPath, targetPageNumber); 

action.Remove(PdfName.D); 
action.Put(PdfName.D, new PdfLiteral([email protected]"[{targetPageNumber - 1} /Fit]")); 


var pdfAnnotation = PdfAnnotation.CreateLink(
    pdfStamper.Writer, 
    linkOutline, 
    PdfAnnotation.HIGHLIGHT_NONE, 
    action); 

pdfAnnotation.BorderStyle = new PdfBorderDictionary(0.0F, 0); 


pdfStamper.AddAnnotation(pdfAnnotation, sourcePageNumber); 
Смежные вопросы