Имя: Пароль:
1C
1С v8
Пособите с работой с Adobe Acrobat DC по OLE
0 Бертыш
 
10.01.20
01:14
Хочу визуализировать ЭЦП из 1С ДО в фйле PDF. Со вставкой просто штампика разобрался, но мне то нужно чтобы был пользовательский штампик с прозрачностью, то есть с просвечиванием через штамп с текстом текста самого документа и чтобы сам штамп далее не сохранялся в Adobe Acrobat DC. Листал Acrobat SDK, гуглил примеры, но что то ничего подходящего и годного под руки не попадается.
1 Бертыш
 
12.01.20
06:16
Я вот тут пробовал vba шный найденый пример адаптировать. Вставляется при этом штамп поведение которого меня устраивает, однако не разобрался как добиться вставки своей текстовой начинки внутри рамки (вставляется штатный штамп с текстовкой заложенной разработчиками Adobe Acrobat DC и не получается чтобы по gApp.Show(); Adobe Acrobat DC открывался с открытым моим документом. Может быть есть у кого какие идеи? Если не под Adobe Acrobat DC, то может хотя бы под какой-нибудь PDF-XChange? И да, кстати, название темы можно поменять наверное на "Визуализировать ЭЦП в файле PDF" Пособите с этим модераторы

    gApp = Новый COMОбъект("AcroExch.App");
    gApp.CloseAllDocs();
    gPDDoc = Новый COMОбъект("AcroExch.PDDoc");
Если gPDDoc.Open(PDFIN) Тогда
    
    jso = gPDDoc.GetJSObject();
        
    Page = gPDDoc.AcquirePage(0);
    pageRect = Page.GetSize(); //' now use pageRect.x and/or pageRect.y for stamp placement
        
    stampRect = Новый COMSafeArray("VT_I4", 4);
        stampRect.SetValue(0,100); //' taking a shortcut here
        stampRect.SetValue(1,100);
        stampRect.SetValue(2,200);
        stampRect.SetValue(3,200);
        
    annot = jso.AddAnnot();
        
    props = annot.getprops();
        props.Type = "Stamp";
        annot.setProps(props);
        
    props = annot.getprops();
        props.Page = 0;
        props.rect = stampRect;
        props.Author = "My Name";
        props.AP = "Approved";// ' this would be your own AP string - "Approved" uses one of the standard stamps
        annot.setProps(props);
        
    gPDDoc.Save(1,PDFOUT);
        
    gPDDoc.Open(PDFOUT);
    gApp.Show();
        
КонецЕсли;
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой