Добавление закладок в PDF при помощи Ghostscript

RobinK

Участник
Топикстартер
Сообщения
6
Реакции
0
Собственно добавлять получилось - PDF_bookmarks_with_Ghostscript
Но русский текст в закладках получается с битой кодировкой. Копал в сторону кодировки файла postscript. но так и не добился результата.
Как починить примус?
 
Зачем левая программа, когда закладки делаются в самом индизайне?
 
У нас проектный отдел, склеиваем чертежи в альбомы, спец софта нет совсем.
 

Не по теме:
Зачем мне холодильник, если я не курю?

@RobinK , по вашей же ссылке -
1572932307499.png

В таком виде и нужно оформлять кириллический текст
 
  • Спасибо
Реакции: RobinK
Спасибо огромное! Пока правда не знаю как мне это сделать в макросе VBA :)
 
Опишите задачу целиком, может есть решения проще.

Бог с ним с VBA пробую через командную строку и команду, содержимое файла PS:

[ /PageMode /UseOutlines
/Page 1
/View [/Fit]
/DOCVIEW pdfmark
[/Title (titul) /Page 1 /OUT pdfmark
[/Title (FEFF041104110411) /Page 3 /OUT pdfmark
[/Title (list utverzhdenija 1) /Page 4 /OUT pdfmark
[/Title (list utverzhdenija 2, 3) /Page 5 /OUT pdfmark
[/Title (pojasnitel'naja zapiska) /Page 8 /OUT pdfmark
[/Title (sehstr) /Page 17 /OUT pdfmark
[/Title (pro) /Page 24 /OUT pdfmark
[/Title (pkt) /Page 26 /OUT pdfmark
[/Title (perechen' ehlementov) /Page 28 /OUT pdfmark
[/Title (specifikacija) /Page 31 /OUT pdfmark
[/Title (stroitel'noe zadanie) /Page 35 /OUT pdfmark

Он мне так и выводит в оглавление FEFF041104110411, вместо "БББ", пробовал и в <> заключать и \ вначале добавлять. Понятное дело надо гуглить :)
 
Странно, должно быть <FEFF041104110411>, даже верхний регистр необязателен. Вы точно никаких лишних скобок не ставили?
 
Последнее редактирование:
  • Спасибо
Реакции: RobinK
Странно, должно быть <FEFF041104110411>, даже верхний регистр необязателен. Вы точно никаких лишних скобок не ставили?
Получилось! У меня было (<FEFF041104110411>) вот так. Да надо убрать скобки.

ОГРОМНОЕ СПАСИБО!!!
 
VBA


Код:
   For i1 = 1 To UBound(Documents, 2)

        If Documents(2, i1) <> Empty Then
            
            tmp = ""
            For i2 = 1 To Len(Documents(2, i1))
            
                tmp2 = Mid(Documents(2, i1), i2, 1)
                tmp3 = AscW(tmp2)
                tmp4 = Hex(tmp3)
                
                For i3 = 1 To 4 - Len(tmp4)
                    tmp4 = "0" + tmp4
                Next i3
                
                tmp = tmp & tmp4
            
            Next i2
            
            ts.WriteLine "[/Title <FEFF" + tmp + "> /Page " & pn & " /OUT pdfmark"
        
        End If
        
        'Print #F, "[/Title (" + Documents(2, i1) + ") /Page " & pn & " /OUT pdfmark"
        
        Dim pc As Integer: pc = Documents(3, i1)
        
        pn = pn + pc

    Next i1