将文本数据转换为PDF并下载ionic 4

时间:2019-08-31 06:27:21

标签: javascript html angular ionic4 scss-mixins

我尝试使用以下提到的插件将JSON数据生成为pdf。

# Install Cordova Plugins
> >      ionic cordova plugin add cordova-plugin-file-opener2
> >      ionic cordova plugin add cordova-plugin-file
> >      
> >      npm install pdfmake @ionic-native/file-opener @ionic-native/file 

我尝试了两种以上的方法通过插件将数据转换为pdf,但是我找不到找到它的方法。请提供有关ionic 4的pdf转换器插件的相关版本

 import { Component, OnInit } from '@angular/core';
 import { DatabaseService } from "../services/database/database.service";
 import { CommonService } from '../services/common/common.service';
 import { ModalController } from '@ionic/angular';
 import { Router, NavigationExtras } from '@angular/router';
 // import { customerUsersType } from '../models/model';

 import { File } from '@ionic-native/file';
 import { FileOpener } from '@ionic-native/file-opener';

 import { LoadingController } from '@ionic/angular';

 @Component({
   selector: 'app-daily-reports',
   templateUrl: './daily-reports.page.html',
   styleUrls: ['./daily-reports.page.scss'],
 })
 export class DailyReportsPage implements OnInit {

   loading: any;

   constructor(private database: DatabaseService, 
               private router: Router, 
               private commonService: CommonService, 
               public modalController: ModalController,
               public file: File,
               public fileOpener: FileOpener,
               public loadingCtrl: LoadingController
               ) { }


   async presentLoading(msg) {
     const loading = await this.loadingCtrl.create({
       message: msg
     });
     return await loading.present();
   }

  ngOnInit() {
  //    this.generatePDF()
  }
  generatePDF() {

  /* this.generatePDF() = 
   { startDate: 'Start Date' },
   { EndDate: 'End Date' },
   }   */

   this.presentLoading('Creating PDF file...');
   const div = document.getElementById("printable-area");
   const options = { background: "white", height: div.clientWidth, width: div.clientHeight };

 }  

 }
 ion-header ion-icon {`enter code here`
   font-size: 18px;
 }

 ion-toolbar .tabs {
   display: flex;
   justify-content: center;
   .tab {
     text-align: center;
     width: calc(100% / 3);
     color: #cfe191;
     &.active {
       color: #cfe191;
     }
     ion-icon {
       font-size: 30px;
     }
     .label {
       font-size: 10px;
       margin-top: -2px;
     }
   }
 }

 ion-card {
   width: 100%;
 }

  .ssptbg_color{
      background:#1f431d;
  }

  .my-custom-menu {
   --width: 500px;
 }
   ion-content{
   --background: #cfe191;
 /*  background: url('/assets/icon/smpt_bg.png');
   background-repeat: no-repeat;
   background-size: cover;*/
 }
 ion-card { --background: #ffffff; }

 .card-style{
   --border-radius: 50px;
   width:100%;
   height:70px;
 }
 .badgesISMU{
   position: absolute;
   border-radius: 100%;
   padding:20px;
   right:8px;
   bottom:8px;
   background:#f5f5f5;
   color:#080808;
   box-shadow: 0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)!important;
   font-weight: 700;
 }
 .verticalaligncenter{
   margin-top:5%;
 }
 .text-dark{
   color:#080808;
   font-size:16px;
   font-weight:700;
 }
 .icon-padding{
   padding: 5px 5px 5px 5px;
 }

 .bg-colorC1{
   background:#fcf288;
 }

 a.tab-link{
      text-decoration: none ;
     color: #cfe191;

   }
 a.tab-link:hover
   {
     text-decoration: none ;
     color: #cfe191;
    }

 a{
      text-decoration: none ;
      color: #000000;
   }
 a:hover
   {
     text-decoration: none ;
     color: #000000;
    }

    .header .col {
     background-color:lightgrey;
 }
 .font-weight{
   font-weight:700;
 }

 .title{
   margin-bottom:5px;
   border-radius:5px;
   color:#555;
   background:#fff;
   padding: .7rem .5rem;
   box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12);
   text-align:center;
 }
   .font-12
  {
     font-size:12px;
  }

  ion-label{
     background-color: transparent;
  }
 <ion-header>
   <ion-toolbar color="secondary">
     <ion-buttons slot="start">
       <ion-menu-button></ion-menu-button>
     </ion-buttons>
     <ion-title>Daily Reports</ion-title>
   </ion-toolbar>
 </ion-header>

 <ion-content padding>


   <form class="mrg-btm--10">

     <ion-item>
       <ion-label>Start Date</ion-label>
       <ion-datetime Placeholder="DD MMM YYYY" min="2019" max="2025" >Start Date<br></ion-datetime>
     </ion-item>
     <ion-item>
       <ion-label>End Date</ion-label>
       <ion-datetime Placeholder="DD MMM YYYY" min="2019" max="2025" >End Date</ion-datetime>
     </ion-item>    

     <div class="text-center ion-margin-vertical">
       <ion-button type="submit" color="secondary" shape="round">
         Generate Report
       </ion-button>
     </div>


   </form>

  <!--<form class="mrg-btm--10" [formGroup]="dailyReportsForm" (submit)="createDailyReportsSubmit(dailyReportsForm.value)">  
   <form class="mrg-btm--10">
     <ion-item>
       <ion-label>DD MMM YYYY</ion-label>
       <ion-datetime displayFormat="DD MMM YYYY H:mm" min="2019" max="2119" value="2005-06-17"></ion-datetime>
     </ion-item>   -->

 <!--  <ionic-calendar-date-picker (onSelect)="dateSelected($event)">Start Date</ionic-calendar-date-picker>    
       <ionic-calendar-date-picker (onSelect)="dateSelected($event)">End Date</ionic-calendar-date-picker>  


     <div class="text-center ion-margin-vertical">
       <ion-button type="submit" color="secondary" shape="round" [disabled]="!dailyReportsForm.valid">
         Generate Report
       </ion-button>
     </div>

   </form>  */  -->
 </ion-content>

 <ion-footer>
   <ion-toolbar color="secondary">
     <div class="tabs">
       <div class="tab">
         <a href="/send-mail" class="tab-link">
           <ion-icon name="mail"></ion-icon>
           <div class="label">Mail</div>
         </a>
       </div>
       <div class="tab">
         <a href="/admin-profile" class="tab-link">
           <ion-icon name="person"></ion-icon>
           <div class="label">Profile</div>
         </a>
       </div>
       <div class="tab">
         <a href="/admin-dashboard" class="tab-link">
           <ion-icon name="home"></ion-icon>
           <div class="label">Home</div>
         </a>
       </div>
       <div class="tab">
         <a href="/device-details" class="tab-link">
           <ion-icon name="list-box"></ion-icon>
           <div class="label">Device Details</div>
         </a>
       </div>
       <div class="tab">
         <a href="/refertravel" class="tab-link">
           <ion-icon name="car"></ion-icon>
           <div class="label">Refer Travel</div>
         </a>
       </div>
     </div>
   </ion-toolbar>
 </ion-footer>

0 个答案:

没有答案