Как просмотреть определенную страницу PDF, используя HTML в браузере?

0

Я хотел бы открыть pdf файл и показать конкретную страницу, когда я нажимаю кнопку

Что я пробовал внутри прослушивателя onclick:

$("body").prepend("<object id='largePdf' data= '" + sourceFolder + "MyNews/2013/08/16/0/0/A/Content/1/A_ALL.pdf#page=1' type='application/pdf' width='1861' height='3061'>alt : <a href= '" + sourceFolder + "MyNews/2013/08/16/0/0/A/Content/1/A_ALL.pdf#page=1'>pg001.pdf</a></object>")

Проблема в том, что она не может ссылаться на страницу 1 и просто показывать ее, а также размер pdf не приближается к ожидаемому. например div - это точный размер, но контент отсутствует. например Если у меня конкретный размер = w: 1000, h: 2000, фон: w: 1000, h: 2000, но контент может быть w: 800, h: 1500.

Как можно Я исправляю проблемы? спасибо

  • 0
    Или я должен использовать любой плагин для просмотра PDF вместо встроенного? Спасибо
  • 1
    Перейдите сюда goo.gl/7XXaDB и посмотрите код, связанный с выпадающим списком . Я не могу показать вам, потому что я на моем iPad, и это трудно просматривать и копировать источник
Показать ещё 2 комментария
Теги:
pdf
adobe

1 ответ

2
Лучший ответ

Если вам известен номер страницы, и ваш PDF-плагин является тем, который поставляется с Adobe Acrobat Reader, вы можете сделать это:

largePdf.setCurrentPage(n);

API описывается здесь.

Ниже приведен краткий список API, полученный с помощью OleView на AcroPdf.dll(плагин, "C:\Program Files (x86)\" Общие файлы \Adobe\Acrobat\ActiveX\AcroPDF.dll "на моем ПК). Не похоже, что есть способ найти общее количество страниц.

interface IAcroAXDocShim : IDispatch {
    [id(0x00000001), propget, helpstring("property src")]
    HRESULT src([out, retval] BSTR* pVal);
    [id(0x00000001), propput, helpstring("property src")]
    HRESULT src([in] BSTR pVal);
    [id(0x00000002), helpstring("method LoadFile")]
    HRESULT LoadFile(
                    [in] BSTR fileName, 
                    [out, retval] VARIANT_BOOL* ret);
    [id(0x00000003), helpstring("method setShowToolbar")]
    HRESULT setShowToolbar([in] VARIANT_BOOL On);
    [id(0x00000004), helpstring("method gotoFirstPage")]
    HRESULT gotoFirstPage();
    [id(0x00000005), helpstring("method gotoLastPage")]
    HRESULT gotoLastPage();
    [id(0x00000006), helpstring("method gotoNextPage")]
    HRESULT gotoNextPage();
    [id(0x00000007), helpstring("method gotoPreviousPage")]
    HRESULT gotoPreviousPage();
    [id(0x00000008), helpstring("method setCurrentPage")]
    HRESULT setCurrentPage([in] long n);
    [id(0x00000009), helpstring("method goForwardStack")]
    HRESULT goForwardStack();
    [id(0x0000000a), helpstring("method goBackwardStack")]
    HRESULT goBackwardStack();
    [id(0x0000000b), helpstring("method setPageMode")]
    HRESULT setPageMode([in] BSTR pageMode);
    [id(0x0000000c), helpstring("method setLayoutMode")]
    HRESULT setLayoutMode([in] BSTR layoutMode);
    [id(0x0000000d), helpstring("method setNamedDest")]
    HRESULT setNamedDest([in] BSTR namedDest);
    [id(0x0000000e), helpstring("method Print")]
    HRESULT Print();
    [id(0x0000000f), helpstring("method printWithDialog")]
    HRESULT printWithDialog();
    [id(0x00000010), helpstring("method setZoom")]
    HRESULT setZoom([in] single percent);
    [id(0x00000011), helpstring("method setZoomScroll")]
    HRESULT setZoomScroll(
                    [in] single percent, 
                    [in] single left, 
                    [in] single top);
    [id(0x00000012), helpstring("method setView")]
    HRESULT setView([in] BSTR viewMode);
    [id(0x00000013), helpstring("method setViewScroll")]
    HRESULT setViewScroll(
                    [in] BSTR viewMode, 
                    [in] single offset);
    [id(0x00000014), helpstring("method setViewRect")]
    HRESULT setViewRect(
                    [in] single left, 
                    [in] single top, 
                    [in] single width, 
                    [in] single height);
    [id(0x00000015), helpstring("method printPages")]
    HRESULT printPages(
                    [in] long from, 
                    [in] long to);
    [id(0x00000016), helpstring("method printPagesFit")]
    HRESULT printPagesFit(
                    [in] long from, 
                    [in] long to, 
                    [in] VARIANT_BOOL shrinkToFit);
    [id(0x00000017), helpstring("method printAll")]
    HRESULT printAll();
    [id(0x00000018), helpstring("method printAllFit")]
    HRESULT printAllFit([in] VARIANT_BOOL shrinkToFit);
    [id(0x00000019), helpstring("method setShowScrollbars")]
    HRESULT setShowScrollbars([in] VARIANT_BOOL On);
    [id(0x0000001a), helpstring("method GetVersions")]
    HRESULT GetVersions([out, retval] VARIANT* ret);
    [id(0x0000001b), helpstring("method setCurrentHightlight")]
    HRESULT setCurrentHightlight(
                    [in] long a, 
                    [in] long b, 
                    [in] long c, 
                    [in] long d);
    [id(0x0000001c), helpstring("method setCurrentHighlight")]
    HRESULT setCurrentHighlight(
                    [in] long a, 
                    [in] long b, 
                    [in] long c, 
                    [in] long d);
    [id(0x0000001d), helpstring("method postMesage")]
    HRESULT postMessage([in] VARIANT strArray);
    [id(0x0000001e), propget, helpstring("property messageHandler")]
    HRESULT messageHandler([out, retval] VARIANT* pVarOut);
    [id(0x0000001e), propput, helpstring("property messageHandler")]
    HRESULT messageHandler([in] VARIANT pVarOut);
    [id(0x0000001f), helpstring("method execCommand")]
    HRESULT execCommand([in] VARIANT strArray);
};
  • 0
    Спасибо! Но мне интересно, если у меня есть PDF, который имеет 60 страниц, например. Если я хотел бы просмотреть страницу 25, будет ли он загружать весь PDF-файл, прежде чем я смогу его просмотреть, или он может динамически загружать эту страницу, когда выбран для просмотра? Я не против, если использовать любой плагин. Спасибо
  • 1
    Я не проверял это поведение, но я думаю, что это работает так: он загружает документ в фоновом режиме страница за страницей, но если вы делаете setCurrentPage , он сразу переходит и загружает эту страницу. Попробуйте, используя ссылку API, которую я разместил (400 страниц), и дайте нам знать :)
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню