Generewonie wydruku przez API?

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, obiekty COM .NET

Moderator: mikey

rabies
Posty: 45
Rejestracja: 25 mar 2016, 13:08
Rola: Administrator CDN XL
Wersja: 2022

Generewonie wydruku przez API?

Post autor: rabies »

Witam,

jest jakiś sposób aby wygenerować wybrany wydruk (danego dokumentu) PDF poprzez zewnętrzny program, przez jakieś API lub inny sposób?

--
Pozdrawiam
Krzysiek
Pozdrawiam
Krzysiek

kluchol
Posty: 11
Rejestracja: 28 lut 2019, 10:18
Rola: Inny
Wersja: 2019

Re: Generewonie wydruku przez API?

Post autor: kluchol »

Hej,

jest taka możliwość, musisz znać niumer formatki ja robię to tak:

Kod: Zaznacz cały

 private static string pdfGenerate(int documentId, int source = 0, int document = 1834)
        {
            StringBuilder builder = new StringBuilder();
            Random random = new Random();
            char ch;
            for (int i = 0; i < 4; i++)
            {
                ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65)));
                builder.Append(ch);
            }
            string filename = SpoolerPath + builder.ToString() + ".pdf";
            string Filtr = "TrN_TRNID=" + Convert.ToString(documentId);
            Type type = Type.GetTypeFromProgID("CDN.WydrFormat", true);
            dynamic Format = Activator.CreateInstance(type);
            SetProperty(Format, "GenRapReportType", 4);
            SetProperty(Format, "GenRapNewReportInitObjects", "FakturaSpr");
            dynamic ZmiennaDyn = Activator.CreateInstance(Type.GetTypeFromProgID("CDNLib.Dictionary"));
            SetProperty(Format, "ZrodloID", source);
            SetProperty(Format, "ID", document);
            SetProperty(Format, "FiltrTPS", Filtr);
            SetProperty(Format, "FiltrSQL", Filtr);
            SetProperty(Format, "Urzadzenie", 4);
            SetProperty(Format, "FormatPlikuDocelowego", 2); //PDF
            SetProperty(Format, "PlikDocelowy", filename);
            SetProperty(Format, "IloscKopii", 1);
            //SetProperty(Format, "Drukarka", "Microsoft Print to PDF");
            InvokeMethod(Format, "Wykonaj", new object[] { ZmiennaDyn });
            return filename;
        }
Gdzie "document = 1834" to jest wz w moim przypadku. Ja zapisuję ten dokument na dysku.

Awatar użytkownika
Tym
Posty: 26
Rejestracja: 05 kwie 2019, 09:32
Rola: Inny
Wersja: 2019

Re: Generewonie wydruku przez API?

Post autor: Tym »

Czy komuś udało się może dotrzeć do tego jak ustawić nazwę pliku PDF, do którego Optima ma generować wydruk?

ODPOWIEDZ