Samstag, Dezember 14, 2019

(DOORS/DXL) als pdf Exportieren oder drucken, die mit einer bestimmten Vorlage

Wir sind daran interessiert, export/drucken einer Ansicht von der formalen Modul. Da wir wollen, dass es sein kann, mit einem ofziellen Dokument wollen wir unsere gemeinsame Vorlage, haben es eigenen Seite vor, und seine eigene Kopf-und Fußzeilen der Seiten mit einem text-schriftart, – Größe und-Farbe, und eingefügte Bilder (Unternehmenskennzeichen, Kunden sind).

Soweit ich sehen kann, TÜREN lassen bei uns drucken hinzufügen von Kopf – &Fußzeile, aber ohne Bilder. Auf der anderen Seite ist es möglich, Word-export hinzufügen einer Vorlage, aber ich kann es nicht direkt in das pdf-format oder an einen Drucker.

Ist es wichtig für uns, dass eine korporative Dokument kann direkt durch Türen ohne Word oder einem anderen editor-management, um TÜREN Dokument direkt veröffentlicht, um Kunden ohne externe änderungen.

Ist es möglich machte dies eine DXL-Skript? Oder gibt es irgendeine andere Möglichkeit es zu machen?

Ich nehme an, dass viele Nutzer drucken (oder pdf-Dateien), die mit Ihrer Firma die korporative Bilder, und ich denke, das kann so nützlich sein.

Vielen Dank im Voraus für Eure Hilfe.

Beste Grüße,

JM

3 Kommentare

  1. 4

    Ist es möglich machte dies eine DXL-Skript?

    IMHO ist es. Ich schrieb schon eine DXL-Skript zum exportieren von DOORS-Modulen, um eine LaTeX-Datei, die kompiliert werden kann, in eine PDF-Datei. Sie finden es am Ende dieser Antwort. Fühlen Sie sich frei, um es an Ihre Bedürfnisse anpassen. Bevor Sie ausführen können, müssen Sie es herunterladen, um die Quelle des „Intelligente Ordner-Browser“ und speichern Sie es neben meinem Skript als „smartFolderBrowser.inc“. Die extension inc gibt an, dass dies eine include-Datei und nicht eine standalone-DXl-Programm.

    Natürlich jeder user das nutzen möchte, ein solcher Ansatz benötigt eine installierte TeX-distribution wie MiKTeX. Das DXL-Skript starten könnte die PDF-Version, nachdem Sie den export mit der DXL-built-in-Funktion void system(string command).

    Mit Ihrem kundenspezifischen DXL-LaTeX-export-Skript haben Sie die volle Kontrolle über das layout des resultierenden PDF-Datei. Aber bewusst sein, die layout-Regeln, die TeX betrifft. Es kann eine sehr anspruchsvolle Aufgabe zu konfigurieren (Kraft) TeX beim Rendern eines Dokuments, wie es erstellt wurde mit M$ Word.

    //DOORS LaTeX Export
    /**
    Copyright (c) 2012-2013 Kai K.
    Permission is hereby granted, free of charge, to any person obtaining a
    copy of this software and associated documentation files (the
    "Software"), to deal in the Software without restriction, including
    without limitation the rights to use, copy, modify, merge, publish,
    distribute, sublicense, and/or sell copies of the Software, and to
    permit persons to whom the Software is furnished to do so, subject to
    the following conditions:
    The above copyright notice and this permission notice shall be included
    in all copies or substantial portions of the Software.
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    */
    pragma encoding, "UTF-8"
    #include "smartFolderBrowser.inc"
    DBE dbeOutputFolder = null;
    DBE dbeOptions = null;
    bool withTitles = true
    Buffer tempBuf = create;
    void escapeSpecialLaTeXCharacters(Buffer& str)
    {
    Buffer temp = create;
    int i = 0;
    for(i = 0; i < length(str); ++i) 
    {
    char c = str[i]; 
    if( '\\' == c ) 
    {
    temp += "\\textbackslash{}";
    }
    else if( '{' == c )
    {
    temp += "\\"
    temp += c
    }
    else if( '}' == c )
    {
    temp += "\\"
    temp += c
    }
    else if( '_' == c )
    {
    temp += "\\"
    temp += c
    }
    else if( '^' == c )
    {
    temp += "\\textasciicircum{}";
    }
    else if( '#' == c )
    {
    temp += "\\"
    temp += c
    }
    else if( '&' == c )
    {
    temp += "\\"
    temp += c
    }
    else if( '$' == c )
    {
    temp += "\\"
    temp += c
    }
    else if( '%' == c )
    {
    temp += "\\"
    temp += c
    }
    else if( '~' == c )
    {
    temp += "\\textasciitilde{}";
    }
    else
    {
    temp += c;
    }
    }
    str = tempStringOf(temp);
    delete temp;
    }
    string makeLabel(Buffer& str)
    {
    setempty(tempBuf);
    int i = 0;
    for(i = 0; i < length(str); ++i) 
    {
    char c = str[i]; 
    if( ' ' != c && '-' != c && '\n' != c && '\\' != c && '_' != c && '#' != c) 
    {
    tempBuf += c;
    }
    }
    return stringOf(tempBuf);
    }
    string makeCaption(Buffer& str)
    {
    setempty(tempBuf);
    int i = 0;
    for(i = 0; i < length(str); ++i) 
    {
    char c = str[i]; 
    if( '\n' != c && '\\' != c) 
    {
    tempBuf += c;
    }
    }
    escapeSpecialLaTeXCharacters(tempBuf);
    return stringOf(tempBuf);
    }
    void rtf2latex(Buffer& buf)
    {
    Buffer txt = create;
    Buffer temp = create;
    RichTextParagraph rp = null;
    bool envopened = false;
    for rp in tempStringOf(buf) do {
    if(rp.indentLevel > 0)
    {
    real hspace = realOf(rp.indentLevel)/20.0;
    temp += "{\\hangindent" hspace "pt\\hangafter0"
    }
    if(rp.isBullet)
    {
    temp += "\\textbullet ";
    }      
    RichText rt = null      
    for rt in rp do {
    txt = rt.text;         
    escapeSpecialLaTeXCharacters(txt);
    if (rt.italic)
    {
    temp += "\\textit{";
    temp += txt;
    temp += "}";
    }
    else if (rt.bold)
    {
    temp += "\\textbf{";
    temp += txt;
    temp += "}";
    }
    else if (rt.strikethru)
    {
    temp += "\\sout{";
    temp += txt;
    temp += "}";
    }
    else if (rt.subscript)
    {
    temp += "\\textsubscript{";
    temp += txt;
    temp += "}";
    }
    else if (rt.superscript)
    {
    temp += "\\textsuperscript{";
    temp += txt;
    temp += "}";
    }
    else if (rt.underline)
    {
    temp += "\\underline{";
    temp += txt;
    temp += "}";
    }         
    else
    {
    temp += txt;
    }
    if (rt.newline && !rt.last)
    {
    temp += "\\par\n";
    }
    else if(rt.last)
    {
    temp += "\n";
    }
    }
    if(rp.indentLevel > 0)
    {
    temp += "}"
    }
    }
    buf = tempStringOf(temp);
    delete temp;
    delete txt;  
    }
    void getObjectText(Object obj, Buffer& buf)
    {  
    if(!null(obj))
    {
    buf = richTextFragment(richText(obj."Object Text"));
    rtf2latex(buf);
    }
    else
    {
    buf = "null";
    print("ERROR: obj null!: "dxlHere() "\n");
    }   
    }
    int nextCell(Stream& oss, int curCol, int numCols )
    {
    if( curCol == numCols )
    {
    oss << "\\\\\n\\hline\n"
    }
    else
    {
    oss << "\t&\t"
    }
    return( curCol % numCols + 1 )
    }
    void writePreamble(Stream& oss)
    {
    oss << "\\documentclass[a4paper]{book}\n";
    oss << "%---- packages ----\n";
    oss << "\\usepackage{ulem}\n";
    oss << "\\usepackage{color}\n";
    oss << "\\usepackage{graphicx}\n";
    oss << "\\usepackage{supertabular}\n";
    oss << "\\usepackage{hyperref}\n";
    oss << "\\usepackage{makeidx}\n";
    oss << "\\usepackage{xltxtra}\n";
    oss << "\\makeindex\n";
    oss << "%\n---- settings ----\n";
    oss << "\\setcounter{secnumdepth}{6}\n";
    oss << "\\setlength{\\parindent}{0}\n";
    oss << "\\setlength{\\parskip}{2x}\n";
    oss << "%\n---- customizations ----\n";
    oss << "\\makeatletter\n";
    oss << "\\def\\maxwidth{%\n";
    oss << "\\ifdim\\[email protected]@width>\\linewidth\n";
    oss << "\\linewidth\n";
    oss << "\\else\n";
    oss << "\\[email protected]@width\n";
    oss << "\\fi\n";
    oss << "}\n";
    oss << "\\makeatother\n";
    oss << "\n%---- document ----\n";
    oss << "\\begin{document}\n";
    oss << "\\tableofcontents\n";
    oss << "\\listoffigures\n";
    oss << "\\listoftables\n";
    }
    void writeTableHeader(Stream& oss, Object tableobj, int& numCols )
    {
    //print("Enter: writeTableHeader\n");
    numCols = 0
    int numRows = 0;
    int tableWidth = 0;
    Object cellobj = null;
    Object rowobj = null;
    //first count the columns and rows
    for rowobj in table( tableobj ) do {
    if( !isDeleted( rowobj ) )
    {
    if(numCols == 0)
    {
    for cellobj in rowobj do {
    if( !isDeleted( cellobj ))
    {
    tableWidth += getCellWidth(cellobj);
    numCols++;              
    }
    }
    }
    numRows++;
    }
    }
    //extract the header row
    int colCount = numCols;
    int col = 0;   
    Object headrow[colCount];
    for rowobj in table( tableobj ) do {
    if( !isDeleted( rowobj ) )
    {
    if(col == 0)
    {
    for cellobj in rowobj do {
    if( !isDeleted( cellobj ))
    {
    headrow[col] = cellobj;
    col++;
    }
    }
    }
    else
    {            
    break;
    }
    }
    }
    //export the table head
    oss << "\\begin{centering}\n";
    Buffer buf = create;
    oss << "\\tablefirsthead{";   
    for(col=0; col<colCount; ++col) {
    getObjectText(headrow[col], buf);
    oss << tempStringOf(buf);
    if(col+1<colCount)
    oss << "&";
    }
    oss << "\\\\}\n";
    oss << "\\tablehead{";
    for(col=0; col<colCount; ++col) {   
    getObjectText(headrow[col], buf);
    oss << tempStringOf(buf);
    if(col+1<colCount)
    oss << "&";         
    }
    oss << "\\\\}\n";
    oss << "\\tabletail{\\hline}\n";   
    oss << "\\begin{supertabular}{|";
    for(col=0; col<colCount; ++col) {
    cellobj = headrow[col];
    int w = getCellWidth(cellobj);
    real rw = w;
    real tw = tableWidth;
    w = intOf(rw/tw*100.0);
    rw = realOf(w)/100.0;
    oss << "p{" rw "\\textwidth}|";
    }  
    oss << "}\n\\hline\n"
    delete buf;
    //print("Leave: writeTableHeader\n");
    }
    void writeTableFooter(Stream& oss, Buffer& objtext)
    {
    oss << "\\\\\n\\hline\n"
    oss << "\\end{supertabular}\n\\label{tab:";
    oss << makeLabel( objtext );
    oss << "}\n\\bottomcaption{"
    oss << makeCaption( objtext );
    oss << "}\n\\end{centering}\n"
    }
    void writeobjheading(Stream& oss, Buffer &objNum, Buffer &text, int level )
    {
    if(1 == level)
    {
    oss << "\\chapter{";
    }
    else if(2 == level)
    {
    oss << "\\section{";        
    }
    else if(3 == level)
    {
    oss << "\\subsection{";        
    }
    else if(4 == level)
    {
    oss << "\\subsubsection{";        
    }
    else if(5 == level)
    {
    oss << "\\paragraph{";        
    }
    else
    {
    oss << "\\subparagraph{";        
    }
    oss << tempStringOf(text);
    oss << "}\n\\label{sec:";
    oss << makeLabel(text);
    oss << makeLabel(objNum);
    oss << "}\n";
    }
    void writeFigureHeadAndExport(Stream& oss, Object img, string outputDir)
    {
    Module mod = module(img);   
    string n = mod."Prefix"img."Absolute Number"".png";
    string s = exportPicture(img, outputDir "\\" n, formatPNG);   
    oss << "\\begin{figure}[ht]\n";
    oss << "\\centering\n";
    oss << "\\includegraphics[width=\\textwidth]{"n"}\n";
    }
    void writeFigureFooter(Stream& oss, Buffer& objtext)
    {
    oss << "\\label{fig:";
    oss << makeLabel( objtext );
    oss << "}\n\\caption{"
    oss << makeCaption( objtext );
    oss << "}\n\\end{figure}\n";
    }
    void writeRequirement(Stream& oss, Module& doorsModule, Object obj, Buffer& puid, Buffer& objtext)
    {
    oss << "\\textbf{";
    oss << tempStringOf( puid );
    oss << "}\\\\\n" //"PUID style"
    oss << "\\label{req:";
    oss << makeLabel(puid)
    oss << "}\n";
    oss << "\\index{";
    oss << tempStringOf( puid );
    oss << "}\n";
    oss << "\\color{blue}\n"
    oss << tempStringOf( objtext )
    oss << "\n"//"requirement style"
    oss << "\\begin{tabbing}\n"
    Column col = null;
    Buffer var_name = create;
    int c=0;   
    for col in doorsModule do {      
    var_name = title( col )
    escapeSpecialLaTeXCharacters(var_name);
    if( ! main( col ) && search( regexp "(P|p)(U|u)(I|i)(D|d)", var_name, 0 ) == false )
    {         
    oss << "\\textbf{";
    oss << var_name;
    if(c == 0)
    oss <<  "}: \\hspace{2.0cm} \\= "
    else
    oss <<  "}: \\> "
    var_name = text( col, obj );
    escapeSpecialLaTeXCharacters(var_name);
    oss << var_name;
    oss << "\\\\\n";//"attribute valueBuf" )
    c++;
    }               
    }
    oss << "\\end{tabbing}\n"
    oss << "\\color{black}\n"
    delete var_name;
    }
    void timeString( int timeInSeconds, Buffer &t )
    {
    t = ""
    int hours, minutes, seconds
    hours    =   timeInSeconds /3600
    minutes  = ( timeInSeconds - hours * 3600 ) /60
    seconds  = ( timeInSeconds - hours * 3600 - minutes * 60 )
    if( hours < 10 ) t = "0"
    t += ( hours "")
    t += ":"
    if( minutes < 10 ) t += "0"
    t += ( minutes "")
    t += ":"
    if( seconds < 10 ) t += "0"
    t += ( seconds "")
    }
    void doExport(DB db)
    {
    int startTime = intOf( today )
    int progressLimit = 0;
    Object obj = null;
    for obj in current Module do {
    progressLimit++;
    }
    progressStart(db, "Exporting Module as LaTeX", "Object 0/"progressLimit"", progressLimit);
    string outputDir = get(dbeOutputFolder);
    string outputFileName = name(current Module);
    string outputFileExt = ".tex";
    string outputFilePath = outputDir "\\" outputFileName outputFileExt;
    Stream mainFile = write(outputFilePath);
    Stream oss = mainFile;
    writePreamble(oss);
    int progress = 1;
    int curCol = 1;
    int numCols = 0;
    bool lastObjWasFigure = false;
    bool lastObjWasTable = false;
    Buffer objheading = create;
    Buffer objtext = create;
    Buffer objNum = create;
    Buffer puid = create;
    int lev = 0
    int puidLevel = 0
    Regexp excel = regexp "objclass Excel.Sheet"
    Module doorsModule = current Module;
    int subfileCount = 1;
    for obj in current Module do {
    if(progressCancelled())
    {
    if( confirm(db, "Do you really want to abort the export?") )
    {
    break;
    }
    }
    progressMessage("Object "progress"/"progressLimit"");
    getObjectText(obj, objtext)
    //------------------- Handle Tables ------------------------------------
    if( cell( obj ))
    {
    if( !lastObjWasTable )
    {
    writeTableHeader(oss, obj, numCols);            
    curCol           = 1;
    lastObjWasTable  = true;
    }
    else
    {
    curCol = nextCell(oss, curCol, numCols );
    }
    oss << tempStringOf( objtext ); //"Standard"
    progressStep(progress);
    progress++;
    continue
    }
    //------------------- After Table write Table Title -----------------
    if( lastObjWasTable )
    {
    writeTableFooter(oss, objtext);
    }
    //------------------- After Figure write Figure Title ---------------
    if( lastObjWasFigure )
    {
    writeFigureFooter(oss, objtext)
    }
    objNum  = number( obj )
    objheading = obj."Object Heading"
    escapeSpecialLaTeXCharacters(objheading)
    //------------------- Handle End of Requirement ------------------------
    lev = level( obj )
    if( lev <= puidLevel )
    {
    //oss << "End Requirement\n\n"
    puidLevel = 0
    }
    if( withTitles && ( lastObjWasTable || lastObjWasFigure ))
    {
    lastObjWasTable  = false
    lastObjWasFigure = false
    continue
    }
    //------------------- Handle objheading with hierarchy --------------------
    if( length( objheading ) > 0 )
    {
    writeobjheading(oss, objNum, objheading, lev )
    }
    if( length( objtext ) > 0 )
    {
    //remember, if Title has to be written after this object
    if( containsOle( obj."Object Text"))
    {
    if( excel objtext ) {
    lastObjWasTable = true
    }
    else
    {
    lastObjWasFigure = true;
    writeFigureHeadAndExport(oss, obj, outputDir);
    }
    }
    //------------------- Handle Requirements objects Text -----------
    puid = obj."IE PUID"
    escapeSpecialLaTeXCharacters(puid)
    if( length( puid ) > 0 )
    {
    puidLevel = lev
    writeRequirement(oss, doorsModule, obj, puid, objtext);
    }
    //------------------- No PUID means normal text Object -----------
    else
    {
    oss << tempStringOf( objtext );
    oss << "\n";//"Standard"
    }
    }
    progressStep(progress);
    progress++;      
    }
    oss << "\\printindex\n"
    oss << "\\end{document}\n";
    close(oss);
    progressStop();
    //---------------------- show the result ----------------------------------
    int endTime = intOf( today ) - startTime
    Buffer totalTime = create;
    timeString( endTime, totalTime );
    infoBox( "Export successfully finished after " totalTime "\nThe result is located in\n" outputFilePath);
    delete objheading;
    delete objtext;
    delete objNum;
    delete puid;
    delete tempBuf;
    }
    DB db = create("LaTeX Export");
    dbeOutputFolder = smartFolderBrowser(db, "Output Folder:", false);
    ok(db, doExport);
    show(db);
    
    • Grüße. Danke für deine Antwort. Ich werde starten, um herauszufinden, etwas über MikTeX. Es ist für mich so neu, ich werde es überprüfen, um zu sehen, ob ich es verwenden kann. Als ich bin kein dxl Programmierer bin ich nicht sicher.
    • Ich habe dowonloaded MikTeX. Soweit ich dich verstehe, brauche ich Eure DXL-Skript zum exportieren einer LaTeX-Datei, ich bin der überarbeitung alle Fragen mit dxl-tag, aber ich habe es nicht gefunden. In Bezug auf die Vorbereitung einer benutzerdefinierten DXL um ein personalisiertes Deckblatt und Kopf – /Fußzeilen, Seiten mit Bildern, könnten Sie mir mehr details? Ich bin ein Neuling und ich habe nicht viel Ahnung über die Programmierung in dxl. Danke!!!!
    • Natürlich werden Sie es nicht finden. Ich habe nie den code veröffentlicht. Ich werde sehen, ob ich hochladen können, den code irgendwo und teilen den link hier. Aber das könnte eine Weile dauern… Bis dahin empfehle ich Sie starten, Lesen Sie die DXL Referenz zur Verfügung gestellt von TÜREN.
    • Ich habe den code hier. Spaß haben!
    • Danke!!! Jedoch, wenn ich versuche zu laufen, es ist ein Fehler, es wird angezeigt: Kursiv Fett -E- DXL: <Line:27> could not open include file (utils/smartFolderBrowser.inc) (No such file or directory)
    • Ich habe eine Anmerkung über die include-Datei und fixiert zwei Skript-Fehler. Ich freue mich auf meine Antwort akzeptiert.
    • Ich habe gespeichert smartFolderBrowser.inc, und nach, dass ich dxl ausführen. Die folgende Meldung wird angezeigt -R-E- DXL: <Line:508> null dialog element (DBE) parameter was passed into argument position 1 . Es ist nicht jede gespeicherte Datei im angegebenen Ordner, Sohn, ich weiß nicht, was ich jetzt tun sollte. Bitte verzeihen Sie mir geben Sie einige Probleme mit diesem.
    • Jetzt bin ich daran erinnert, warum es ist gute Praxis, um test-code, bevor Sie ihn weitergeben. Ich entfernte die fehlerhafte Zeile(N) und deaktiviert einige debug-Ausgabe. Aber ich empfehle Ihnen lernen, zu Debuggen und schreiben DXL-Skripte. Diese Fähigkeiten sind unerlässlich, um zu passen das Skript an Ihre Bedürfnisse an. Vielleicht haben Sie zu manchen Dingen DOORS/DXL-Berater, Sie zu unterstützen.
    • Zu spät kommt zur party: ich erhalten den Fehler „unbekanntes Objekt IE PUID“ in Zeile 611, `puid = obj.“IE PUID“ . TÜREN 9.3
    • Ändern Sie die Eigenschaft zugreifen, wie Sie möchten. Wir verwendet „IE PUID“ – Eigenschaft als lesbarer Anforderungs-ID. Ändern Sie es zu obj.“<your_id_prop>“
    • Danke – in der Tat das ist, was ich Tat, nachdem hier einige Ratschläge: stackoverflow.com/questions/39206498/…

  2. 0

    Welche version von TÜREN verwenden Sie?

    In TÜREN 9.3+ IBM integriert Funktionen des RPE in TÜREN, die Ihnen erlaubt, mehr Optionen für das exportieren, einschließlich PDF-export. Allerdings war es nicht bis die TÜREN 9.4.0.1 (aktuelle Version), die konnte man bauen Sie Ihre eigene Vorlage, die in IBM Rational Publishing Engine (RPE), und verwenden Sie die Vorlage innerhalb von TÜREN Direkt.

    Also die Antwort ist, dass Sie müssen eine Lizenz für RPE Voll von IBM, so dass Sie erstellen die Vorlage, die Sie suchen, dann Personen, die TÜREN in Ihrem Unternehmen exportieren könnte TÜREN-Dokumente mit dieser Vorlage, ohne zusätzliche Lizenzen. Sie müssen auch auf TÜREN 9.4.0.1.

    Habe ich auch gesehen, einige Unternehmen nach Word exportieren, mit Ihren Kopf-und Fußzeilen, dann verwenden Sie Adobe Acrobat zum hinzufügen von cover-Seiten mit logos und so. Allerdings bedeutet dies, dass nur Personen mit der voll-Lizenz für Acrobat erzeugen kann, die Unterlagen korrekt.

    RPE ist definitiv Ihre beste Wette.

    Glück.

    • Soweit ich mich erinnere haben wir die Türen 9.3… also ich nehme an, ich kann es nicht lösen… Krank versuchen, um es zu bestätigen Danke!!!!
    • Ich bin sicher, dass es getan werden könnte, mit DXL, irgendwie. Aber durch die Zeit, die das Skript geschrieben wurde Sie aktualisiert werden könnte, um 9.4.0.1. Es wäre nicht der Mühe Wert.
    • Ich habe bestätigt, wir haben installiert 9.3 Version. Ich bin mir nicht sicher, wir werden ein update auf 9.4. Wie Sie sagen, unser Weg ist der export zu Word, und nach, dass die Verwendung von Adobe Acrobat. Wir haben alle Ihre Lizenzen. Ich wollte allerdings vermeiden, dass diese Zwischenschritte um zu vermeiden, dass jemand ändern könnte, der Bericht. Also ich dachte, der beste Weg war, drucken Sie direkt mit unseren eigenen decken und Seite-format. Danke trotzdem für deine Hilfe. Sollten wir weiterhin mit Word als Zwischenschritt zu drucken Doors-Bericht, obwohl es kann leicht geändert werden.
  3. 0

    „Ist es möglich machte dies eine DXL-Skript? Oder gibt es irgendeine andere Möglichkeit es zu machen?“

    So lange, wie ich gelesen habe Ihre Anfrage bezüglich der drucken DXL-Daten in PDF Prozess, führen wir eine Drittanbieter-tool, das hilft Ihnen, sich zu bewegen oder drucken Sie Ihre gespeicherten .DXL domino-Dateien ins PDF-format, ohne dass alle vorhandenen Daten in es.

    Konvertierungsprogramm von DXL Dateien in PDF ist die beste Lösung, um Benutzern zu helfen, verdeckte DXL in PDF-format ohne Fehler. – Software mit der option zum konvertieren von DXL Dateien oder Ordner, die nur in einem einzigen Klick.

Kostenlose Online-Tests

Letzte Fragen

Tun ItemView löst Blase?

Ich habe eine CompositeView für eine Tabelle. Ich habe Trigger-set in der Kind-ItemView für jede Zeile... var TableRow = Marionette.ItemView.extend({ tagName:...

Wie kann ich untersuchen, WCF was 400 bad request über GET?

Die folgenden WCF-endpoint funktioniert gut mit dem WCF test client: AssetList ListFlaggedAssets(short processCode, string platform, string endpoint = "null", string portalId = "null", int...

Bei der Verwendung von UUIDs, sollte ich auch mit AUTO_INCREMENT?

Wir bauen eine neue web-app, die eine offline-iPad - /Android-app-version auf einer Reihe von lokalen Geräten, die Einsätze mit neuen Daten. Als solche benötigen...

Actionscript-Objekt, das verschiedene Eigenschaften

Wie kann ich die Anzahl der Eigenschaften in einer generischen Actionscript-Objekt? (Wie die Array-Länge) InformationsquelleAutor Fragsworth | 2011-01-15

Wie plot mehrere Graphen und nutzen Sie die Navigations-Taste im [matplotlib]

Die neueste version von matplotlib erstellt automatisch Navigations-buttons unter den graph. Aber die Beispiele, die ich finden alles im Internet zeigen, wie erstellen Sie...