#android #kotlin #jsp
Вопрос:
Я хотел бы сохранить pdf-файл в хранилище Android. Итак, я создаю страницы JSP и вставляю функцию javascript. Функция преобразует форму JSP в файл pdf и сохраняет ее в хранилище ПК. Он успешно работает на моем ПК с Windows. Но в приложении для Android это не работает. Как работает эта функция в приложении для Android? Мне нужно решение или другой способ сохранения страницы JSP в хранилище Android-смартфона.
Это код jsp и код kotlin для Android
- В jsp
lt;script src="http://code.jquery.com/jquery-3.5.1.min.js"gt;lt;/scriptgt; lt;script src="./js/html2canvas.js"gt;lt;/scriptgt; lt;script src="./js/jspdf.min.js"gt;lt;/scriptgt; lt;scriptgt; $(document).ready(function() { $('#savePdf').click(function() { html2canvas($('#pdfDiv')[0]).then(function(canvas) { var imgData = canvas.toDataURL('image/png'); var imgWidth = 190; var pageHeight = imgWidth * 1.414; var imgHeight = canvas.height * imgWidth / canvas.width; var heightLeft = imgHeight; var margin = 10; var doc = new jsPDF('p', 'mm'); var position = 0; doc.addImage(imgData, 'PNG', margin, position, imgWidth, imgHeight); heightLeft -= pageHeight; while (heightLeft gt;= 20) { position = heightLeft - imgHeight; doc.addPage(); doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight); heightLeft -= pageHeight; } doc.save('file-name.pdf'); }); }); }) lt;/scriptgt;
- Котлин
class sample_webviewActivity : AppCompatActivity() { private lateinit var webView: WebView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_sample_webview) webView = findViewById(R.id.sample_webview) webView.apply { settings.javaScriptEnabled = true settings.loadWithOverviewMode = true webViewClient = WebViewClient() } webView.loadUrl("http.......") }