Спасибо всем за исчерпывающие ответы.
p.s.
htmlhelp конечно хорошо, но я уже много наелся с изменением форматов у микрософта.
разрешите маленький оффтопик
У меня вообще-то был док который я хотел использовать - pdf генеренный из исходников на LaTeX
1 можно замучить его акробатом Acrobat.exe /A “nameddest=MyLabel=OpenActions” “main.pdf”
MyLabel - места помеченные латехом (правда есть некоторые нюансы в простановке мест ссылок в самом латехе)
2 webbrowser.open(“file:///C:/main.html#tth_sEc1.4”)
отличная штука в этом случае - НО этот пакет откусывает #xeid_dyn1 - команду позиционирования в файле
Это только для протокола file.
3 IEXPLORE.EXE file:///C:/main.html#tth_sEc1.4 прекрасно пускается - но куда он позиционируется - одному богу известно. есть еще возможность:
import win32com.client
import win32api
ie = win32com.client.Dispatch( "InternetExplorer.Application" )
ie.Visible = 1
ie.FullScreen = 1
ie.Navigate("file:///C:/main.html#tth_sEc1.4")
while ie.Busy == True:
win32api.Sleep(1000)
не пробовал - както не по вкусу и длинно.
4 firefox.exe file:///C:/main.html#tth_sEc1.4 - все Ок
Вот такая странная получилась универсальность. Если поднять сервак, то почти все странности уйдут.
Таким образом из питона остался вопрос должен-ли webbrowser.open понимать url вида file:///C:/main.html#tth_sEc1.4 И если у него есть проблемы, то почему он молчит?
:)