powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / pdfcreator
24 сообщений из 24, страница 1 из 1
pdfcreator
    #37536503
OSIP_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть скрипт, с помощью которого через виртуальный принтер "PdfDistiller" переводим из dwg в pdf.
Нужно переделать это всё на PDFCreator!
PDFCreator нормально вызывается, но я не могу передать в него нужные для меня параметры (т.к. размер листа, им выходящего файла, директорию для файла и т.д.)
Может кто нибудь с этим встречался. Помогите плиззз))
...
Рейтинг: 0 / 0
pdfcreator
    #37539689
OSIP_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что, никто ни разу не использовал PDFCreator ???
...
Рейтинг: 0 / 0
pdfcreator
    #37542667
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так вроде здесь загружается и в придачу
два примерчика....

http://sourceforge.net/projects/pdfcreator/files/latest/download
...
Рейтинг: 0 / 0
pdfcreator
    #37543513
OSIP_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu,

Загрузить то я знаю где, а вот примерчиков по вашей ссылке и в общем на сайте я не нашел! С этим соответственно и проблема =(
...
Рейтинг: 0 / 0
pdfcreator
    #37543519
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрите в папку где сидит pdfcreator после инсталл что-то
типа C:\Program Files\pdf..\COM\VB
...
Рейтинг: 0 / 0
pdfcreator
    #37543520
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C:\Program Files\PDFCreator\COM\VB6
...
Рейтинг: 0 / 0
pdfcreator
    #37543574
OSIP_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu,

Спасибо!!!! То что нужно!!!
...
Рейтинг: 0 / 0
pdfcreator
    #37549251
OSIP_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примеры хорошие, но возникла проблемка! У меня скрипт вызывается по команде, иногда один раз, а иногда в цикле!
В общем проблема в том, что я не знаю где и как прописать у PDFCreator что бы он работы ставил в очередь и не печатал пока я не дам команду!
Сейчас работает так, вызываю скрипт, он передает всё в PDFCreator и на печать. А паузы нету. если ещё и в программе вызывать PDFCreator, то вообще херня получается =(((
...
Рейтинг: 0 / 0
pdfcreator
    #37552200
OSIP_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чуть, чуть тему подниму =)))))))
...
Рейтинг: 0 / 0
pdfcreator
    #37553435
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не имея понятия о вопросе, логический совет: В цикле готовь данные, когда нужно отошли всё сразу на печать. :)
...
Рейтинг: 0 / 0
pdfcreator
    #37560364
SangYong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не легче ли взять dll-ку типа пилотовской - можно определить
все свойства документа и нарисовать содержимое
pdf, а потом загружать его в легкий и быстрый
просмотрщик типа SumatraPDF.exe - этот вообще не трубует
установки...(его окно кстати можно при помощи setparent
выводить в окне Вашей проги) - я правда в msa так делаю
счета-фактур и пр.
...
Рейтинг: 0 / 0
pdfcreator
    #37594681
OSIP_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подниму немного тему с таким вопросом!
Вот такая проблемка: PDF-файл создается нормально, но никак не могу прикрутить нужную директорию и имя файла!
Делаю это так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
    Dim S1, FName, FDir, S4 As String
    Dim i As Byte
    S1 = AOutFile
    FName = ""
    FDir = ""
    For i = 1 To Len(S1) - 4
        S4 = Mid(S1, i, 1)                 
        If S4 <> "\" Then                  
            FName = FName + S4        
        ElseIf (S4 = "\") Then            
            FDir = FDir + FName + S4   
            FName = ""
        End If
        S4 = ""
    Next

        .cOption("UseAutosave") = 1
        .cOption("UseAutosaveDirectory") = 1
        .cOption("AutosaveDirectory") = FDir
        .cOption("AutosaveFilename") = FName
        .cOption("AutosaveFormat") = 0   
    End With
        ThisDrawing.Plot.PlotToDevice


Модератор: учимся использовать кнопочку SRC
...
Рейтинг: 0 / 0
pdfcreator
    #37594889
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
If S4 <> "\" Then                  
ElseIf (S4 = "\")


напоминает: "родила? родила. мальчик? нет. А кто????"

Вообще для поиска подстроки есть функции InStr и InStrRev

А вот какая задача была, я так и не понял. Что сделать-то надо?
...
Рейтинг: 0 / 0
pdfcreator
    #37594973
OSIP_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Код: vbnet
1.
2.
If S4 <> "\" Then                  
ElseIf (S4 = "\")


напоминает: "родила? родила. мальчик? нет. А кто????"

Вообще для поиска подстроки есть функции InStr и InStrRev

А вот какая задача была, я так и не понял. Что сделать-то надо?

В общем задача в том, чтобы файл формата DWG конвертировать в PDF через PDFCreator!
PDFCreator запускается, создает файл в PDF! Всё нормально, но никак не могу ему "объяснить" под каким именем и куда нужно сохранить файл!
Чтобы он не открывал диалоговые окна и пользователю не приходилось, что то там дописывать и указывать!
...
Рейтинг: 0 / 0
pdfcreator
    #37595001
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
однако, мы тоже не можем угадать, как именно ты собираешься сформировать путь, ты нас не посвятил
...
Рейтинг: 0 / 0
pdfcreator
    #37595012
OSIP_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proоднако, мы тоже не можем угадать, как именно ты собираешься сформировать путь, ты нас не посвятил

Путь и имя выходного файла передаются в этот скрипт, например, в таком виде: "C:\new\qwerty\1234567rtyy.pdf"
(Пользователь указывает это в приложении заранее)
вот этими строками

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    Dim S1, FName, FDir, S4 As String
    Dim i As Byte
    S1 = AOutFile
    FName = ""
    FDir = ""
    For i = 1 To Len(S1) - 4
        S4 = Mid(S1, i, 1)                 
        If S4 <> "\" Then                  
            FName = FName + S4        
        ElseIf (S4 = "\") Then            
            FDir = FDir + FName + S4   
            FName = ""
        End If
        S4 = ""
    Next



Я разделяю путь и имя файла!
...
Рейтинг: 0 / 0
pdfcreator
    #37595053
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OSIP_1Я разделяю путь и имя файла!
Код: vbnet
1.
2.
3.
fil = "C:\new\qwerty\1234567rtyy.pdf"
MsgBox Mid$(fil, InStrRev(fil, "\") + 1)
MsgBox Mid$(fil, 1, InStrRev(fil, "\") - 1)
...
Рейтинг: 0 / 0
pdfcreator
    #37595070
OSIP_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProOSIP_1Я разделяю путь и имя файла!
Код: vbnet
1.
2.
3.
fil = "C:\new\qwerty\1234567rtyy.pdf"
MsgBox Mid$(fil, InStrRev(fil, "\") + 1)
MsgBox Mid$(fil, 1, InStrRev(fil, "\") - 1)



Дело не в том, каким способом я разделяю имя и путь!
Способов тысячи!
PDFCreator не может их применить, а почему я не знаю :(
...
Рейтинг: 0 / 0
pdfcreator
    #37595286
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OSIP_1"объяснить" под каким именем и куда нужно сохранить файл!мне кажется, что "AutoSave" и принудительное сохранение, это немножно разные вещи, но это совсем имхо
...
Рейтинг: 0 / 0
pdfcreator
    #37595301
OSIP_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProOSIP_1"объяснить" под каким именем и куда нужно сохранить файл!мне кажется, что "AutoSave" и принудительное сохранение, это немножно разные вещи, но это совсем имхо

Это я тоже понимаю! Но в примерах которые я видел, везде используется этот набор

Код: vbnet
1.
2.
3.
4.
5.
        .cOption("UseAutosave") = 1
        .cOption("UseAutosaveDirectory") = 1
        .cOption("AutosaveDirectory") = FDir
        .cOption("AutosaveFilename") = FName
        .cOption("AutosaveFormat") = 0  



А больше я не нашел, куда пристроить имя и путь :(
...
Рейтинг: 0 / 0
pdfcreator
    #37621672
OSIP_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел решение с присвоением нужного имени и директории!

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
        .cOption("UseAutosave") = 1
        .cOption("UseAutosaveDirectory") = 1
        .cOption("AutosaveFormat") = 0
        .cClearCache
        .cPrinterStop = False
        .cOption("AutosaveDirectory") = FDir  'моя директория
        .cOption("AutosaveFilename") = FName  'моё имя файла
...
Рейтинг: 0 / 0
pdfcreator
    #37621678
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OSIP_1, спасибо, что не забыл отписать!
...
Рейтинг: 0 / 0
pdfcreator
    #37622386
OSIP_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Осталось только допилить до идеала, чтобы файл DWG в котором несколько Layout-ов, конвертировались в многостраничный PDF!
Как допилю, тоже выложу!
Может у кого то уже есть варианты по этому поводу?
...
Рейтинг: 0 / 0
pdfcreator
    #37630105
OSIP_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот какая незадача с этими многостраничниками!
Вот код который у меня получился:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
    ElseIf (VBA.InStr(APlotter, "PDFCreator") = 1) Then
    Dim plotcmd As String
'   Разделение директории и имени файла
    Dim S1, FName, FDir, S4 As String
    Dim i As Byte
    S1 = AOutFile
    FName = ""
    FDir = ""
    For i = 1 To Len(S1) - 4               
        S4 = Mid(S1, i, 1)                  '
        If S4 <> "\" Then                   '
            FName = FName + S4              '
        ElseIf (S4 = "\") Then              '
            FDir = FDir + FName + S4        '
            FName = ""
        End If
        S4 = ""
    Next
'   Разделились

    Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
    pdfjob.cStart "/NoProcessingAtStartup"
    With pdfjob
    isSpec = True
    .cPrinterStop = True                    ' приостановление печати
    For Each lay In ThisDrawing.Layouts
        If lay.TabOrder = 0 Then
                    Exit For
        Else
            If lay.TabOrder > 0 And (Not VBA.IsNumeric(lay.Name)) Then
    plotcmd = "_-PLOT y " & vbCr & APlotter & vbCr & APaperSize & vbCr & "m l n e f"
    plotcmd = plotcmd & vbCr & "c" & vbCr & "y" & vbCr & APlotStyle & vbCr & "y n n n y "
    ThisDrawing.SendCommand plotcmd
                isSpec = False
                Exit For
            Else
            Dim tLa As AcadLayout
            Set tLa = ThisDrawing.Layouts.item(lay.Name)
            ThisDrawing.ActiveLayout = tLa

                .cOption("UseAutosave") = 1
                .cOption("UseAutosaveDirectory") = 1
                .cOption("AutosaveFormat") = 0          ' 0 = PDF
                .cPrinterStop = True                    ' приостановление печати

    plotcmd = "_-PLOT y " & vbCr & APlotter & vbCr & APaperSize & vbCr & "m l n e f"
    plotcmd = plotcmd & vbCr & "c" & vbCr & "y" & vbCr & APlotStyle & vbCr & "y n n n n y y "
    ThisDrawing.SendCommand plotcmd



                .cPrinterStop = True                    ' приостановление печати
            End If
        End If
    Next

        .cCombineAll                            ' склейка нескольких листов в один PDF

        .cOption("AutosaveDirectory") = FDir    ' директория для сохранения файла
        .cOption("AutosaveFilename") = FName    ' имя сохраняемого файла
        .cPrinterStop = False                   ' возобновление печати
        .cClearCache                            ' чистка кэша
    End With



Всё нормально работает в режиме отладки, лэйауты становятся в очередь, склеиваются и благополучно сохраняются в замечательную PDF-ку!
НО!!! Почему то когда я запускаю этот скрипт без режима отладки, то он каждый лист просто прогоняет через семя, не составляя в очередь в PDFCreatore!
Может кто нибудь что нибудь сможет подсказать???
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / pdfcreator
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]