Jak dostat české znaky z pdf

Michal Růžička xruzick7 at fi.muni.cz
Sun Apr 9 18:31:56 CEST 2006


Pavel Lisý napsal(a):
> Dobrý den
> 
> potřeboval bych vyřešit problém, na který jsem narazil. 
> 
> Dělám zpěvník v LaTeXu a potřeboval bych jeho výstup poskytnout i lidem
> pracujícím pouze ve windows ve Wordu a spol. 
> 
> Původně jsem si myslel, že to půjde přes pdflatex, ale má to vážné
> úskalí. Výstup je možné správně zobrazit, ale nelze z něj nic zkopírovat
> (přes clipboard), resp. kopírovat lze, ale české znaky jsou "rozbité",
> tj. diakritika a znak jsou samostatně.
> 
> Chápu, že je to asi dáno způsobem, jak tex daný výstup sestavuje, ale
> potřebuji výsledky nějak předat pro možnost dalšího zpracování jinými
> programy.
> 
> Dá se to nějak vyřešit?
> 
> Lze k tomu nějak přesvědčit pdftex/pdflatex. Nebo existuje prošlapaná
> cesta jinudy? Např. přes konverzi do html, resp. rtf? 
> 
> Jde mi o to, aby v tom nějakým způsobem zůstala i formátovací informace.
> 
> Máte s tím někdo zkušenosti?
> 
> Předm díky za typy, jakým směrem se mám v hledání řešení ubírat.
> 
> Pavel Lisý
> 


Dobrý den,

řešení existuje, ale ne úplné. Pro pdfTeX existuje balík cmap, který dokáže do 
PDF správně zakódovat české znaky. Z výsledného PDF se pak dá text správně 
kopírovat přes schránku a v PDF se dá i správně česky vyhledávat. Musí být ale 
použito písmo Computer Modern (respektive nesmí být použit virtuální písmo, což 
je např. Times (balík ctimes) apod.) a také nesmí být zapnuta dynamická změna 
velikosti písma pomocí balíku microtype. Těch podmínek je možná víc, ale na tyto 
dvě jsem osobně narazil. Oba problémy jsem (již před delší dobou) reportovat 
autorům pdfTeXu a balíku microtype. Minimálně ohledně virtuálních písem je to 
ale složitější a týká se to prý přímo pdfTeXu. Jestli to bude vůbec kdy vyřešeno 
nevím.
V hlavičce svých dokumentů tedy používám mimo jiné toto (předpokládá překlad 
pdfTeXem, a to jak při výstupu do PDF, tak do DVI):

\usepackage{ifpdf} % Umožní testovat, zda je překládáno do PDF nebo do DVI.
\usepackage[czech]{babel} % Nastavení češtiny pro sazbu (pdf)LaTeXem s pomocí
                           % balíčku Babel.
\usepackage{cslatexquotes} % Balík s definicí příkazů pro sazbu českých,
                            % anglických a francouzských uvozovek.
\usepackage[latin2]{inputenc} % Nastavení kódování tohoto zdrojového textu na
                               % ISO 8859-2 (někdy označované jako ISO Latin 2).
\ifpdf % Pokud se překládá do PDF...
     \usepackage{cmap} % Zajistí správné zakódování národních znaků při výstupu
                       % do PDF.
\fi % Konec výhradní sekce pro překlad do PDF.
\usepackage[T1]{fontenc} % Nastavení kódování fontu na formát T1. (Mimo jiné
                          % řeší i problémy s dělením slov s národními znaky
                          % pomocí příkazu \hyphenation{}.)

Pozor na pořadí přidávání balíků, myslím, že jsem s tím měl problémy. (Ale to 
bez záruky, už je to nějakou dobu a nejsem si úplně jistý, že to bylo u tohoto 
balíčku. Od té doby výše uvedené pracuje spolehlivě.)
Co se týče zachování formátování odstavce (funkce tagovaného PDF), tak to myslím 
žádný balík neumí. A pokud ano, tak budu velmi rád, pokud mi dáte vědět.

S pozdravem
Michal Růžička




More information about the csTeX mailing list