页面上显示PDF, 但是不显示工具栏(IE).
有些时候我们要在IE上显示一个PDF, 例如服务器上生成的PDF. 但是不想让用户保存下来.
本质上来说这是实现不了的, 因为显示PDF用的是客户端的acrobat的ActiveX控件.
既然数据已经到了客户端, 想要找到数据的内容总是可以找到的.
下面提供一种方法, 可以把acrobat控件的工具栏隐藏起来.让用户不那么容易把PDF保存下来.
原理就是直接调用ActiveX控件中的方法把工具栏隐藏起来, 打印也是调用ActiveX的方法.
那么具体的AcrobatReader的ActiveX中还有哪些其他的方法吗?
由于没有文档, 只能用OleView看一下. 具体怎么我用也不清楚.
[
? uuid(3B813CE7-7C10-4F84-AD06-9DF76D97A9AA),
? helpstring("IAcroAXDocShim Interface"),
? dual,
? nonextensible
]
dispinterface IAcroAXDocShim {
??? properties:
??? methods:
??????? [id(0x00000001), propget, helpstring("property src")]
??????? BSTR src();
??????? [id(0x00000001), propput, helpstring("property src")]
??????? void src([in] BSTR rhs);
??????? [id(0x00000002), helpstring("method LoadFile")]
??????? VARIANT_BOOL LoadFile([in] BSTR fileName);
??????? [id(0x00000003), helpstring("method setShowToolbar")]
??????? void setShowToolbar([in] VARIANT_BOOL On);
??????? [id(0x00000004), helpstring("method gotoFirstPage")]
??????? void gotoFirstPage();
??????? [id(0x00000005), helpstring("method gotoLastPage")]
??????? void gotoLastPage();
??????? [id(0x00000006), helpstring("method gotoNextPage")]
??????? void gotoNextPage();
??????? [id(0x00000007), helpstring("method gotoPreviousPage")]
??????? void gotoPreviousPage();
??????? [id(0x00000008), helpstring("method setCurrentPage")]
??????? void setCurrentPage([in] long n);
??????? [id(0x00000009), helpstring("method goForwardStack")]
??????? void goForwardStack();
??????? [id(0x0000000a), helpstring("method goBackwardStack")]
??????? void goBackwardStack();
??????? [id(0x0000000b), helpstring("method setPageMode")]
??????? void setPageMode([in] BSTR pageMode);
??????? [id(0x0000000c), helpstring("method setLayoutMode")]
??????? void setLayoutMode([in] BSTR layoutMode);
??????? [id(0x0000000d), helpstring("method setNamedDest")]
??????? void setNamedDest([in] BSTR namedDest);
??????? [id(0x0000000e), helpstring("method Print")]
??????? void Print();
??????? [id(0x0000000f), helpstring("method printWithDialog")]
??????? void printWithDialog();
??????? [id(0x00000010), helpstring("method setZoom")]
??????? void setZoom([in] single percent);
??????? [id(0x00000011), helpstring("method setZoomScroll")]
??????? void setZoomScroll(
??????????????????????? [in] single percent,
??????????????????????? [in] single left,
??????????????????????? [in] single top);
??????? [id(0x00000012), helpstring("method setView")]
??????? void setView([in] BSTR viewMode);
??????? [id(0x00000013), helpstring("method setViewScroll")]
??????? void setViewScroll(
??????????????????????? [in] BSTR viewMode,
??????????????????????? [in] single offset);
??????? [id(0x00000014), helpstring("method setViewRect")]
??????? void setViewRect(
??????????????????????? [in] single left,
??????????????????????? [in] single top,
??????????????????????? [in] single width,
??????????????????????? [in] single height);
??????? [id(0x00000015), helpstring("method printPages")]
??????? void printPages(
??????????????????????? [in] long from,
??????????????????????? [in] long to);
??????? [id(0x00000016), helpstring("method printPagesFit")]
??????? void printPagesFit(
??????????????????????? [in] long from,
??????????????????????? [in] long to,
??????????????????????? [in] VARIANT_BOOL shrinkToFit);
??????? [id(0x00000017), helpstring("method printAll")]
??????? void printAll();
??????? [id(0x00000018), helpstring("method printAllFit")]
??????? void printAllFit([in] VARIANT_BOOL shrinkToFit);
??????? [id(0x00000019), helpstring("method setShowScrollbars")]
??????? void setShowScrollbars([in] VARIANT_BOOL On);
??????? [id(0x0000001a), helpstring("method GetVersions")]
??????? VARIANT GetVersions();
??????? [id(0x0000001b), helpstring("method setCurrentHightlight")]
??????? void setCurrentHightlight(
??????????????????????? [in] long a,
??????????????????????? [in] long b,
??????????????????????? [in] long c,
??????????????????????? [in] long d);
??????? [id(0x0000001c), helpstring("method setCurrentHighlight")]
??????? void setCurrentHighlight(
??????????????????????? [in] long a,
??????????????????????? [in] long b,
??????????????????????? [in] long c,
??????????????????????? [in] long d);
??????? [id(0x0000001d), helpstring("method postMesage")]
??????? void postMessage([in] VARIANT strArray);
??????? [id(0x0000001e), propget, helpstring("property messageHandler")]
??????? VARIANT messageHandler();
??????? [id(0x0000001e), propput, helpstring("property messageHandler")]
??????? void messageHandler([in] VARIANT rhs);
??????? [id(0x0000001f), helpstring("method execCommand")]
??????? void execCommand([in] VARIANT strArray);
};