Jump to content

TUniPDFFrame как изменить размер страницы?


Sergii

Recommended Posts

Доброго времен суток.

Как изменить размер страницы в TUniPDFFrame при отображении документа? Необходимо это сделать не из интерфейса.

Link to comment
Share on other sites

Загружается файл в TUniPDFFrame. После чего необходимо дать команду отобразить в масштабе 50% (например). Чтобы получить результат как на скрине.

image.thumb.png.50d76972792414fe0bf7cec0e33af42c.png

Link to comment
Share on other sites

53 minutes ago, Sergii said:

Загружается файл в TUniPDFFrame. После чего необходимо дать команду отобразить в масштабе 50% (например). Чтобы получить результат как на скрине.

Попробуйте такой код:

procedure TMainForm.UniPDFFrame1FrameLoaded(Sender: TObject);
begin
  (Sender as TUniPDFFrame).JSInterface.JSCode('Ext.get('#1'.iframe.contentWindow.document.getElementById("scaleSelect")).query("option").forEach(function(el) {'+
    '    if (el.value == 0.5) {'+
    '        el.selected = true;'+
    '        var event = new Event("change");'+
             #1'.iframe.contentWindow.document.getElementById("scaleSelect").dispatchEvent(event)'+
    '    }'+
    '});');
end;

 

Link to comment
Share on other sites

14 minutes ago, Sergii said:

Браузер - Chrome Версия 92.0.4515.131

                    Edge Версия 92.0.902.73

FMSoft_uniGUI_Complete_Professional_1.90.0.1547

 

PDFSCALE.zip 7.76 MB · 0 downloads

Попробуйте с "defer" тогда:

procedure TMainForm.UniPDFFrame1FrameLoaded(Sender: TObject);
begin
  (Sender as TUniPDFFrame).JSInterface.JSCode('Ext.defer(function(){Ext.get('#1'.iframe.contentWindow.document.getElementById("scaleSelect")).query("option").forEach(function(el) {'+
    '    if (el.value == 0.5) {'+
    '        el.selected = true;'+
    '        var event = new Event("change");'+
             #1'.iframe.contentWindow.document.getElementById("scaleSelect").dispatchEvent(event)'+
    '    }'+
    '})}, 10);');

end;

 

Link to comment
Share on other sites

Нашел закономерность.

На onFrameLoaded отрабатывается код и размер выставляется. После того как файл загружен:

- после первой загрузки выставляет размер "Автоматически"

- после следующей загрузки этого же файла - ранее выбранный размер.  Такое впечатление, что есть afterLoaded и в хеше сохраняется  размер для файла.

Если код повесить на кнопку - размер выставляется корректно. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...