读书人

pdf在浏览器的显示有关问题

发布时间: 2013-08-10 21:14:06 作者: rapoo

pdf在浏览器的显示问题
写道>>>>><<<<<
因有系用iframe示PDF,但PDF有并不能利地在流器中示,而是跳出下框,要求下,user很多困,
也我系人了麻,用了天,查找IE打PDF的一些,和大家分享一下


>>>>>分析<<<<<
一.境
win7 32bit
IE9
foxit reader(version 3.2.1.0401,直接以前安好的目Foxit Software打包,然後解在上直接行)
adobe reader x(version 10.0.0,安包文件名:AdbeRdr1000_zh_TW.exe)

二.原理明
以下表值,定IE是否直接打PDF
HKEY_CLASSES_ROOT\MIME\DataBase\Content Type\application/pdf\CLSID
1.如果CLSID中是的值,即在HKCR\CLSID中不存在(如便一xxxxx),
如果pdf的打程式是foxit reader,那根foxit reader的定,在流器中是在外面
如果pdf的打程式是adobe reader x,不定如何,都出下框,在流器外面

2.如果CLSID值存在于HKCR\CLSID中,但是不是正的foxit reader和adobe reader x的CLSID值
(CLSID:{0000002F-0000-0000-C000-000000000046}:clsid中的第一,{22D6F312-B0F6-11D0-94AB-0080C74C7E95}:Windows Media Player)
出下框,用【打】,
不管pdf的默程序是foxit reader,是adobe reader x,都在流器外面打,而不管其是否有定在流器中示PDF

三.adobe reader x在流器中打PDF的定
adobe reader x的CLSID:
{CA8A9780-280D-11CF-A24D-444553540000}

以下值不存在在流器中示(默),存在不在流器中示,
HKCU\Software\Adobe\Acrobat Reader\10.0\Originals\bBrowserIntegration

PS:adobe reader x在流器有PDF示不出,可以通【明】/【修adobe reader安】后, 重新流器或重系一下。

{CA8A9780-280D-11CF-A24D-444553540000}容
---------------------------------------------------------
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}]
@="Adobe PDF Reader"
"AppID"="{BBAA0E44-3862-490C-8E63-AC2D2D6EF733}"

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\Control]
@=""

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\DocObject]
@=""

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\EnableFullPage]

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\EnableFullPage\.fdf]
@=""

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\EnableFullPage\.pdf]
@=""

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\EnableFullPage\.xdp]
@=""

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\EnableFullPage\.xfd]
@=""

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\EnableFullPage\.xfdf]
@=""

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\Implemented Categories]

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]
@=""

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]
@=""

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\InprocServer32]
"ThreadingModel"="Apartment"
@="C:\\Program Files\\Common Files\\Adobe\\Acrobat\\ActiveX\\AcroPDF.dll"

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\MiscStatus]
@="0"

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\MiscStatus\1]
@="131473"

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\ProgID]
@="AcroPDF.PDF.1"

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\Programmable]
@=""

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\ToolboxBitmap32]
@="C:\\PROGRA~1\\COMMON~1\\Adobe\\Acrobat\\ActiveX\\AcroPDF.dll, 102"

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\TypeLib]
@="{05BFD3F1-6319-4F30-B752-C7A22889BCC4}"

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\Version]
@="1.0"

[HKEY_CLASSES_ROOT\CLSID\{CA8A9780-280D-11CF-A24D-444553540000}\VersionIndependentProgID]
@="AcroPDF.PDF"
---------------------------------------------------------

是ProgID @="AcroPDF.PDF.1"
---------------------------------------------------------
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AcroPDF.PDF.1]
@="Adobe PDF Reader"
"EditFlags"=hex:00,00,01,00

[HKEY_CLASSES_ROOT\AcroPDF.PDF.1\CLSID]
@="{CA8A9780-280D-11CF-A24D-444553540000}"

[HKEY_CLASSES_ROOT\AcroPDF.PDF.1\DocObject]
@=""
---------------------------------------------------------


四.foxit reader在流器中打PDF的定
foxit reader的CLSID:
{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}

下面些值存在,在流器中打,反之在流器外打
---------------------------------------------------------
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}]
@="PDF Document"

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\AuxUserType]

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\AuxUserType\2]
@="PDF"

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\AuxUserType\3]
@="Foxit Reader"

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\DefaultExtension]
@=".pdf, PDF Files(*.pdf)"

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\DefaultIcon]
@="C:\\Users\\C036503220A\\Downloads\\foxit\\Foxit Software\\Foxit Reader\\Foxit Reader.exe,1"

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\DocObject]
@="0"

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\InprocHandler]
@="ole2.dll"

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\InprocHandler32]
@="ole32.dll"

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\Insertable]
@=""

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\LocalServer]
@="C:\\Users\\C036503220A\\Downloads\\foxit\\Foxit Software\\Foxit Reader\\Foxit Reader.exe"

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\LocalServer32]
@="C:\\Users\\C036503220A\\Downloads\\foxit\\Foxit Software\\Foxit Reader\\Foxit Reader.exe"

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\MiscStatus]
@="32"

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\Printable]
@=""

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\ProgID]
@="FoxitReader.Document"

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\Verb]

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\Verb\0]
@="&Edit,0,2"

[HKEY_CLASSES_ROOT\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E}\Verb\1]
@="&Open,0,2"
---------------------------------------------------------

至于
HKCU\Software\Foxit Software\Foxit Reader\MainFrame\DisplayInBrowser
值1,foxit reader定框中的【是否在流器中示】checkbox勾上,
值0,不勾上
定不影foxit reader如何在IE中打PDF


五.其它
HKEY_CLASSES_ROOT\.pdf,然在IE理PDF不起直接作用,但最好是定正
adobe reader x的定
---------------------------------------------------------
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.pdf]
"Content Type"="application/pdf"
@="AcroExch.Document"
---------------------------------------------------------

foxit reader的定
---------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.pdf]
@="FoxitReader.Document"
"Content Type"="application/pdf"
---------------------------------------------------------


>>>>><<<<<
IE中一直出下框,即使在adobe或foxit中已有定相,但是不能在流器中直接示。
最直接的原因,可能就是HKEY_CLASSES_ROOT\MIME\DataBase\Content Type\application/pdf\CLSID定
值定adobe或foxit正的clsid,就可以解了。

?

读书人网 >PowerDesigner

热点推荐