Fatturazione elettronica B2B: programmi

di Anonimizzato21468 il
814 risposte

814 Risposte - Pagina 2

  • (10) togliere firma p7m.
    Il modo più semplice che ho trovato fino ad ora (gratuito) è usare openssl.exe e lanciarlo così
       rigadicomando:='cms -verify -in "'+i_infile+'" -inform DER -noverify -outform DER -signer "'+certificato+'" -out "'+i_outfile+'"';
  • A me interesserebbe sapere cosa hai usato per xml2pdf. Edocengine?
  • f3rr0 ha scritto:


    A me interesserebbe sapere cosa hai usato per xml2pdf. Edocengine?
    Anche. non è difficile, ecco un frammento
    
    
    function g_xmltopdf(i_form:TObject;i_nomexml:string;i_nomexsl:string;i_nomepdf:string;i_openaftercreate:boolean=true):string;
    var
       myXMLDocument1:  TXMLDocument;
       myXSLPageProducer1: TXSLPageProducer;
       mymemo1:tmemo;
       myHTMLViewer1 :THTMLViewer;
       mygtHtmlViewInterface1: TgtHtmlViewInterface;
       mygtPDFEngine1: TgtPDFEngine;
    
    begin
       result:='';
      (...)
       mymemo1                 := TMemo.Create(nil);
       myXMLDocument1          := TXMLDocument.Create(TForm(i_form));
       myXSLPageProducer1      := TXSLPageProducer.Create(TForm(i_form));
       myhtmlviewer1           := Thtmlviewer.Create(tform(i_form));
       mygtHtmlViewInterface1  := TgtHtmlViewInterface.Create(tform(i_form));
       mygtPDFEngine1          := TgtPDFEngine.Create(TForm(i_form));
    
       myMemo1.WordWrap := False;
    
       mygtPDFEngine1.FileExtension := 'pdf';
       mygtPDFEngine1.FileDescription := 'Adobe PDF Files';
       mygtPDFEngine1.InputXRes := 96;
       mygtPDFEngine1.InputYRes := 96;
       mygtPDFEngine1.ReferencePoint := rpBand;
       mygtPDFEngine1.FontEncoding := feWinAnsiEncoding;
    
       mygtHtmlViewInterface1.Engine := mygtPDFEngine1;
       mygtHtmlViewInterface1.DoBeginDoc := True;
       mygtHtmlViewInterface1.DoEndDoc := True;
    
       myhtmlviewer1.Parent := TForm(i_form);
       myhtmlviewer1.Left := 802;
       myhtmlviewer1.Top := 104;
       myhtmlviewer1.Width := 652;
       myhtmlviewer1.Height := 107;
       myhtmlviewer1.TabOrder := 14;
       myhtmlviewer1.BorderStyle := htFocused;
       myhtmlviewer1.Visible := False;
       myhtmlviewer1.HistoryMaxCount := 0;
       myhtmlviewer1.DefFontName := 'Times New Roman';
       myhtmlviewer1.DefPreFontName := 'Courier New';
       myhtmlviewer1.NoSelect := False;
       myhtmlviewer1.CharSet := DEFAULT_CHARSET;
       myhtmlviewer1.PrintMarginLeft := 2.000000000000000000;
       myhtmlviewer1.PrintMarginRight := 2.000000000000000000;
       myhtmlviewer1.PrintMarginTop := 2.000000000000000000;
       myhtmlviewer1.PrintMarginBottom := 2.000000000000000000;
       myhtmlviewer1.PrintScale := 1.000000000000000000;
    
       try
           myXMLDocument1.Active := False;
           myXSLPageProducer1.FileName := i_nomexsl;
           myXMLDocument1.FileName := i_nomexml;
           myXSLPageProducer1.XMLData := myXMLDocument1;
           myXMLDocument1.Active := True;
           mymemo1.Text := myXSLPageProducer1.Content;
           myXMLDocument1.Active := False;
    
           myHTMLViewer1.LoadFromString(mymemo1.Text);
    
           mygtHtmlViewInterface1.Engine := mygtPDFEngine1;
           mygtPDFEngine1.Preferences.OpenAfterCreate:=i_openaftercreate;
           mygtPDFEngine1.Preferences.ShowSetupDialog := false;
           mygtPDFEngine1.FileName := i_nomepdf;
           mygtHtmlViewInterface1.RenderDocument(myHTMLViewer1);
    
      except
           on E: Exception do
               loggaNow('ECCEZIONE 2710: '+E.Message);
      end;
       if FileExists(i_nomepdf) then
           result:=i_nomepdf;
      mymemo1.Free;
      myXMLDocument1.Free;
      myXSLPageProducer1.free;
      myhtmlviewer1.Free;
      mygtHtmlViewInterface1.Free;
      mygtPDFEngine1.Free;
    end;
  • Ecco appunto, non è la codifica il mio problema, ma il fatto che non ho quei componenti e l'azienda non me li acquista nemmeno se piango in aramaico
  • Io ho copiato da Mastering Delphi 6 questa procedura : DomToTree
    Crea un tree view dal file xml
    se qualcuno non ha il libro...


    procedure TFwps.creatree(nomefile: string);
    begin
    if FileExists(nomefile) then begin
    xmldocument1.LoadFromFile(nomefile);
    treeview1.items.clear;
    domtotree(XMLdocument1.DocumentElement, nil);
    treeview1.fullexpand;
    end;
    end;


    procedure TFwps.domtotree(xmlnode: ixmlnode; treenode: ttreeNode);
    var
    i:integer;
    newtreenode: ttreenode;
    nodetext: string;
    attrnode: ixmlnode;
    begin
    if not (xmlnode.nodetype=ntelement) then begin
    exit;
    end;
    nodetext:=xmlnode.nodename;
    if xmlnode.istextelement then begin
    nodetext:=nodetext+' = '+xmlnode.nodevalue;
    end;
    newtreenode:=treeview1.items.addchild(treenode,nodetext);
    for i:=0 to xmlnode.attributenodes.count -1 do begin
    attrnode:=xmlnode.attributenodes.nodes[I];
    treeview1.items.addchild(newtreenode,'['+attrnode.NodeName+' = "'+attrnode.Text+'"]');
    end;
    if xmlnode.haschildnodes then begin
    for i:=0 to xmlnode.childnodes.count -1 do begin
    domtotree(xmlnode.childnodes.nodes, newtreenode);
    end;
    end;
    end;
  • +m2+ ha scritto:


    (2) XML2PDF
    xml2pdf.exe "z:\ce\ilbelfile.xml" "s:\ilmiofogliodistile.xsl" "c:\temp\dovevoglioilpdf.pdf"
    Ciao, il programmino è bello e funziona sia riga di comando, sia con exe.
    Se ci fosse da generate il pdf in massivo si può fare in modalità silent print? Senza che di chieda:
    conversione eseguita apro il file ? Sarebbe interessante così cacci dentro questo PDF nell'XML...
  • daspa ha scritto:


    +m2+ ha scritto:


    (2) XML2PDF
    xml2pdf.exe "z:\ce\ilbelfile.xml" "s:\ilmiofogliodistile.xsl" "c:\temp\dovevoglioilpdf.pdf"
    Ciao, il programmino è bello e funziona sia riga di comando, sia con exe.
    Se ci fosse da generate il pdf in massivo si può fare in modalità silent print? Senza che di chieda:
    conversione eseguita apro il file ? Sarebbe interessante così cacci dentro questo PDF nell'XML...
    posso fare quello che voglio.
    tra l'altro uno dei vari altri programmelli è proprio "metti l'allegato dentro lo XML" (è il (4) ).

    Essenzialmente devo fare un parserino per verificare che non ci sia già, per qualche motivo, un allegato, diciamo una mezz'ora di lavoro.
    Nel pomeriggio se trovo il tempo.
  • Ciao +m2+, funzionaaa! Bravissimo!!
    Si può sempre usarlo in modalità silent con riga di comando ??
  • daspa ha scritto:


    Ciao +m2+, funzionaaa! Bravissimo!!
    Si può sempre usarlo in modalità silent con riga di comando ??
    Domani
  • Funzionaa! Bravissimo +M2+! Funziona anche a riga di comando ??
    Grazie
  • Prova
  • Devo avere le istruzioni per la riga di comando:
    xml2pdf.exe "z:\ce\ilbelfile.xml" "s:\ilmiofogliodistile.xsl" "c:\temp\dovevoglioilpdf.pdf" = questo va

    ma ci vuole un altro parametro x iniettare il pdf dentro xml
    xml2pdf.exe "H:\programmitest\IT00000000000_00043.xml" "H:\programmitest\fatturaordinaria_v1.2.1.xsl" "H:\programmitest\IT00000000000_000431.pdf" "S:\prontoperinvioPEC\IT00000000000_00043.xml"
  • daspa ha scritto:


    Devo avere le istruzioni per la riga di comando:
    xml2pdf.exe "z:\ce\ilbelfile.xml" "s:\ilmiofogliodistile.xsl" "c:\temp\dovevoglioilpdf.pdf" = questo va

    ma ci vuole un altro parametro x iniettare il pdf dentro xml
    xml2pdf.exe "H:\programmitest\IT00000000000_00043.xml" "H:\programmitest\fatturaordinaria_v1.2.1.xsl" "H:\programmitest\IT00000000000_000431.pdf" "S:\prontoperinvioPEC\IT00000000000_00043.xml"
    fatto.
    Attenzione tipicamente NON sovrascrive mai (o almeno non dovrebbe)
Devi accedere o registrarti per scrivere nel forum
814 risposte