PDF-Файл, Не Созданный С Помощью Android WebView

#android #android-studio #coldfusion-9

Вопрос:

Я разработал приложение с использованием ColdFusion 9.0. Затем я преобразовал приложение в приложение для Android с помощью WebView. Существует процесс, в котором я использовал для создания PDF-документа и прикрепления к электронной почте с помощью тегов и тегов.

Мой код CF:

 <cfdocument format="PDF" name="Alert">
<cfoutput query="getProdData" group="LineName">
<cfdocumentitem type="header">
<font size="-1"><i>Production Report - #dateFormat(ListFirst(form.prodDate),"dd-mm-yyyy")#</i></font>
<font size="-1"><i>From #ListFirst(form.fromTime)# To #ListFirst(form.toTime)#</i></font>
</cfdocumentitem>
<cfdocumentitem type="footer">
<font size="-1">Page #cfdocument.currentpagenumber#</font>
</cfdocumentitem>

<!--- Some Code --->
</cfdocument>

<cfmail to="email@somesite.com" 
bcc="email@somesite.com"
from="email@somesite.com"  
subject="Alert Message - Production Less Than 40%">
<cfmailparam file="Alert.pdf" content="#Alert#">  
Mail Body
</cfmail>
 

Моя основная деятельность.Java-код

 package com.example.rms;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private WebView mywebView;

    @SuppressLint("SetJavaScriptEnabled")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mywebView=(WebView) findViewById(R.id.webview);
        mywebView.setWebChromeClient(new WebChromeClient());
        mywebView.setWebViewClient(new WebViewClient());
        mywebView.getSettings().setJavaScriptEnabled(true);

        if (!DetectConnection.checkInternetConnection(this)) {
            Toast.makeText(getApplicationContext(),"No Internet Connection.",Toast.LENGTH_LONG).show();
            finish();
        } else {
            mywebView.loadUrl("http://IPADDRESS:8500/RescrMobile/");
        }
    }
    public class mywebClient extends WebViewClient{
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon){
            super.onPageStarted(view,url,favicon);
        }
        @Override
        public boolean shouldOverrideUrlLoading(WebView view,String url){
            view.loadUrl(url);
            return true;
        }
    }
    @Override
    public void onBackPressed(){
        if(mywebView.canGoBack()) {
            mywebView.goBack();
        }
        else{
            super.onBackPressed();
        }
    }
}
 

Я не хочу просматривать PDF-файл. Просто сгенерируйте PDF-файл с помощью кода CF и отправьте письмо в виде вложения. Но, к сожалению, этого не происходит. Я проверил это, отправив электронное письмо без сгенерированного вложения в формате PDF и прикрепив какой-то статический файл, электронное письмо будет отправлено. Поэтому я думаю , что проблема в том, и они работают нормально.

ПОЖАЛУЙСТА, ПОМОГИТЕ

Комментарии:

1. Вы должны каким-то образом сохранить PDF-файл в своем терминале Android и отправить его в виде файла вложения по электронной почте. Если это ваше намерение.

2. возможно ли показать pdf-файл в браузере?

3. @ Massimo Pavanel Если вы посмотрите в <CFMAILPARAM>, <CFMAILPARAM><CFDOCUMENT> создаст PDF-файл и программно прикрепит его в виде файла. Это работает, когда приложение используется в качестве веб-приложения. <CFDOCUMENT> — это то, как не создавать PDF-файл при выполнении в качестве мобильного приложения.