¿Cómo ver una página particular de un pdf usando HTML en el navegador?

Resuelto user782104 asked hace 11 años • 1 respuestas

Me gustaría abrir un archivo pdf y mostrar una página en particular cuando presiono un botón

Lo que he probado dentro de un oyente onclick es:

$("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>")

El problema es que parece que no se puede hacer referencia y solo mostrar la página 1, además, el tamaño del pdf no tiene el zoom esperado. por ejemplo, el div tiene el tamaño exacto pero el contenido no. por ejemplo, si especifico el tamaño = w:1000, h:2000, el fondo: w:1000,h:2000, pero el contenido puede ser w:800,h:1500.

¿Cómo puedo solucionar los problemas? gracias

user782104 avatar Aug 19 '13 11:08 user782104
Aceptado

Si sabe el número de página al que debe ir y su complemento de PDF es el que viene con Adobe Acrobat Reader, puede hacer esto:

largePdf.setCurrentPage(n);

La API se describe aquí.

A continuación se muestra una breve lista de API obtenidas con OleView en AcroPdf.dll (el complemento, "C:\Program Files (x86)\Common Files\Adobe\Acrobat\ActiveX\AcroPDF.dll" en mi PC). Sin embargo, no parece que haya una manera de encontrar el número total de páginas.

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);
};
avo avatar Aug 19 '2013 04:08 avo