當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript service.HtmlToPdfService.convertHtml方法代碼示例

本文整理匯總了TypeScript中app/core/ui-services/html-to-pdf.service.HtmlToPdfService.convertHtml方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript service.HtmlToPdfService.convertHtml方法的具體用法?TypeScript service.HtmlToPdfService.convertHtml怎麽用?TypeScript service.HtmlToPdfService.convertHtml使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在app/core/ui-services/html-to-pdf.service.HtmlToPdfService的用法示例。


在下文中一共展示了service.HtmlToPdfService.convertHtml方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: createReason

    /**
     * Creates the motion reason - uses HTML to PDF
     *
     * @param motion the target motion
     * @returns doc def for the reason as array
     */
    private createReason(motion: ViewMotion, lnMode: LineNumberingMode): object {
        if (motion.reason) {
            const reason = [];

            // add the reason "head line"
            reason.push({
                text: this.translate.instant('Reason'),
                style: 'heading3',
                margin: [0, 25, 0, 10]
            });

            // determine the width of the reason depending on line numbering
            // currently not used
            // let columnWidth: string;
            // if (lnMode === LineNumberingMode.Outside) {
            //     columnWidth = '80%';
            // } else {
            //     columnWidth = '100%';
            // }

            reason.push({
                columns: [
                    {
                        // width: columnWidth,
                        stack: this.htmlToPdfService.convertHtml(motion.reason)
                    }
                ]
            });

            return reason;
        } else {
            return {};
        }
    }
開發者ID:jwinzer,項目名稱:OpenSlides,代碼行數:40,代碼來源:motion-pdf.service.ts

示例2: createText

    /**
     * Creates the motion text - uses HTML to PDF
     *
     * @param motion the motion to convert to pdf
     * @param lnMode determine the used line mode
     * @param crMode determine the used change Recommendation mode
     * @returns doc def for the "the assembly may decide" preamble
     */
    private createText(motion: ViewMotion, lnMode: LineNumberingMode, crMode: ChangeRecoMode): object {
        let motionText: string;
        // get the line length from the config
        const lineLength = this.configService.instant<number>('motions_line_length');

        if (motion.isParagraphBasedAmendment()) {
            motionText = '';
            // this is logically redundant with the formation of amendments in the motion-detail html.
            // Should be refactored in a way that a service returns the correct html for both cases
            for (const paragraph of this.motionRepo.getAmendedParagraphs(motion, lineLength)) {
                if (paragraph.diffLineTo === paragraph.diffLineFrom + 1) {
                    motionText += `<h3>
                        ${this.translate.instant('Line')} ${paragraph.diffLineFrom}:
                    </h3>`;
                } else {
                    motionText += `<h3>
                        ${this.translate.instant('Line')} ${paragraph.diffLineFrom} - ${paragraph.diffLineTo - 1}:
                    </h3>`;
                }

                motionText += `<div class="paragraphcontext">${paragraph.textPre}</div>`;
                motionText += paragraph.text;
                motionText += `<div class="paragraphcontext">${paragraph.textPost}</div>`;
            }
        } else if (motion.isStatuteAmendment()) {
            // statute amendments
            const statutes = this.statuteRepo.getViewModelList();
            motionText = this.motionRepo.formatStatuteAmendment(statutes, motion, lineLength);
        } else {
            // lead motion or normal amendments
            // TODO: Consider tile change recommendation
            const changes: ViewUnifiedChange[] = Object.assign(
                [],
                this.changeRecoRepo.getChangeRecoOfMotion(motion.id)
            );

            // TODO: Cleanup, everything change reco and amendment based needs a unified structure.
            const amendments = this.motionRepo.getAmendmentsInstantly(motion.id);
            if (amendments) {
                for (const amendment of amendments) {
                    const changedParagraphs = this.motionRepo.getAmendmentAmendedParagraphs(amendment, lineLength);
                    for (const change of changedParagraphs) {
                        changes.push(change as ViewUnifiedChange);
                    }
                }
            }

            // changes need to be sorted, by "line from".
            // otherwise, formatMotion will make unexpected results by messing up the
            // order of changes applied to the motion
            changes.sort((a, b) => a.getLineFrom() - b.getLineFrom());
            motionText = this.motionRepo.formatMotion(motion.id, crMode, changes, lineLength);
            // reformat motion text to split long HTML elements to easier convert into PDF
            motionText = this.linenumberingService.splitInlineElementsAtLineBreaks(motionText);
        }

        return this.htmlToPdfService.convertHtml(motionText, lnMode);
    }
開發者ID:tsiegleauq,項目名稱:OpenSlides,代碼行數:66,代碼來源:motion-pdf.service.ts

示例3: addHtml

 /**
  * Helper function to add simple rendered HTML in a new column-stack object.
  * Prevents all kinds of malformation
  *
  * @param content the HTML content
  */
 private addHtml(content: string): object {
     return {
         columns: [
             {
                 stack: this.htmlToPdfService.convertHtml(content, LineNumberingMode.None)
             }
         ]
     };
 }
開發者ID:CatoTH,項目名稱:OpenSlides,代碼行數:15,代碼來源:motion-pdf.service.ts

示例4: createComments

 private createComments(motion: ViewMotion, comments: number[]): object[] {
     const result: object[] = [];
     for (const comment of comments) {
         const viewComment = this.commentRepo.getViewModel(comment);
         const section = motion.getCommentForSection(viewComment);
         if (section && section.comment) {
             result.push({ text: viewComment.name, style: 'heading3' });
             result.push({
                 text: this.htmlToPdfService.convertHtml(section.comment)
             });
         }
     }
     return result;
 }
開發者ID:jwinzer,項目名稱:OpenSlides,代碼行數:14,代碼來源:motion-pdf.service.ts

示例5: textToDocDef

    /**
     * Creates pdfmake definitions for basic information about the motion and
     * comments or notes
     *
     * @param note string optionally containing html layout
     * @param motion the ViewMotion this note refers to
     * @param noteTitle additional heading to be used (will be translated)
     * @returns pdfMake definitions
     */
    public textToDocDef(note: string, motion: ViewMotion, noteTitle: string): object {
        const title = this.createTitle(motion);
        const subtitle = this.createSubtitle(motion);
        const metaInfo = this.createMetaInfoTable(
            motion,
            this.configService.instant('motions_recommendation_text_mode'),
            ['submitters', 'state', 'category']
        );
        const noteContent = this.htmlToPdfService.convertHtml(note);

        const subHeading = {
            text: this.translate.instant(noteTitle),
            style: 'heading2'
        };
        return [title, subtitle, metaInfo, subHeading, noteContent];
    }
開發者ID:jwinzer,項目名稱:OpenSlides,代碼行數:25,代碼來源:motion-pdf.service.ts


注:本文中的app/core/ui-services/html-to-pdf.service.HtmlToPdfService.convertHtml方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。