Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / pdfcreator / 24 сообщений из 24, страница 1 из 1
21.11.2011, 12:09
    #37536503
OSIP_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
Есть скрипт, с помощью которого через виртуальный принтер "PdfDistiller" переводим из dwg в pdf.
Нужно переделать это всё на PDFCreator!
PDFCreator нормально вызывается, но я не могу передать в него нужные для меня параметры (т.к. размер листа, им выходящего файла, директорию для файла и т.д.)
Может кто нибудь с этим встречался. Помогите плиззз))
...
Рейтинг: 0 / 0
23.11.2011, 08:14
    #37539689
OSIP_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
Что, никто ни разу не использовал PDFCreator ???
...
Рейтинг: 0 / 0
24.11.2011, 16:00
    #37542667
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
Так вроде здесь загружается и в придачу
два примерчика....

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

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

Спасибо!!!! То что нужно!!!
...
Рейтинг: 0 / 0
29.11.2011, 09:41
    #37549251
OSIP_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
Примеры хорошие, но возникла проблемка! У меня скрипт вызывается по команде, иногда один раз, а иногда в цикле!
В общем проблема в том, что я не знаю где и как прописать у PDFCreator что бы он работы ставил в очередь и не печатал пока я не дам команду!
Сейчас работает так, вызываю скрипт, он передает всё в PDFCreator и на печать. А паузы нету. если ещё и в программе вызывать PDFCreator, то вообще херня получается =(((
...
Рейтинг: 0 / 0
30.11.2011, 15:12
    #37552200
OSIP_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
Чуть, чуть тему подниму =)))))))
...
Рейтинг: 0 / 0
01.12.2011, 10:28
    #37553435
Дмит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
Не имея понятия о вопросе, логический совет: В цикле готовь данные, когда нужно отошли всё сразу на печать. :)
...
Рейтинг: 0 / 0
06.12.2011, 08:45
    #37560364
SangYong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
не легче ли взять dll-ку типа пилотовской - можно определить
все свойства документа и нарисовать содержимое
pdf, а потом загружать его в легкий и быстрый
просмотрщик типа SumatraPDF.exe - этот вообще не трубует
установки...(его окно кстати можно при помощи setparent
выводить в окне Вашей проги) - я правда в msa так делаю
счета-фактур и пр.
...
Рейтинг: 0 / 0
27.12.2011, 07:45
    #37594681
OSIP_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
Подниму немного тему с таким вопросом!
Вот такая проблемка: 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
27.12.2011, 11:03
    #37594889
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
Код: vbnet
1.
2.
If S4 <> "\" Then                  
ElseIf (S4 = "\")


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

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

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


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

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

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

В общем задача в том, чтобы файл формата DWG конвертировать в PDF через PDFCreator!
PDFCreator запускается, создает файл в PDF! Всё нормально, но никак не могу ему "объяснить" под каким именем и куда нужно сохранить файл!
Чтобы он не открывал диалоговые окна и пользователю не приходилось, что то там дописывать и указывать!
...
Рейтинг: 0 / 0
27.12.2011, 11:58
    #37595001
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
однако, мы тоже не можем угадать, как именно ты собираешься сформировать путь, ты нас не посвятил
...
Рейтинг: 0 / 0
27.12.2011, 12:04
    #37595012
OSIP_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
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
27.12.2011, 12:18
    #37595053
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
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
27.12.2011, 12:29
    #37595070
OSIP_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
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
27.12.2011, 14:14
    #37595286
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
OSIP_1"объяснить" под каким именем и куда нужно сохранить файл!мне кажется, что "AutoSave" и принудительное сохранение, это немножно разные вещи, но это совсем имхо
...
Рейтинг: 0 / 0
27.12.2011, 14:22
    #37595301
OSIP_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
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
19.01.2012, 11:43
    #37621672
OSIP_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
Нашел решение с присвоением нужного имени и директории!

Код: 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
19.01.2012, 11:44
    #37621678
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
OSIP_1, спасибо, что не забыл отписать!
...
Рейтинг: 0 / 0
19.01.2012, 15:11
    #37622386
OSIP_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
Осталось только допилить до идеала, чтобы файл DWG в котором несколько Layout-ов, конвертировались в многостраничный PDF!
Как допилю, тоже выложу!
Может у кого то уже есть варианты по этому поводу?
...
Рейтинг: 0 / 0
25.01.2012, 08:35
    #37630105
OSIP_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pdfcreator
Вот какая незадача с этими многостраничниками!
Вот код который у меня получился:
Код: 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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / pdfcreator / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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