精华内容
下载资源
问答
  • Android下载PDF文件
    千次阅读
    2019-04-01 20:25:52

     

    1.下载PDF文件到本地

     private void downFile(String urlString){
            try {
                URL url = new URL(urlString);
                HttpURLConnection connection = (HttpURLConnection)
                        url.openConnection();
                connection.setRequestMethod("GET");
                connection.setDoInput(true);
                connection.setDoOutput(true);
                connection.setUseCaches(false);
                connection.setConnectTimeout(5000);
                connection.setReadTimeout(5000);
                //实现连接
                connection.connect();
     
                if (connection.getResponseCode() == 200) {
                    InputStream is = connection.getInputStream();
                    //以下为下载操作
                    byte[] arr = new byte[1];
                    ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    BufferedOutputStream bos = new BufferedOutputStream(baos);
                    int n = is.read(arr);
                    while (n > 0) {
                        bos.write(arr);
                        n = is.read(arr);
                    }
                    bos.close();
                    String path = Environment.getExternalStorageDirectory()
                            + "/download/";
                    String[] name = urlString.split("/");
                    path = path + name[name.length - 1];
                    File file = new File(path);
                    FileOutputStream fos = new FileOutputStream(file);
                    fos.write(baos.toByteArray());
                    fos.close();
                    //关闭网络连接
                    connection.disconnect();
                   Log.d("下载完成","下载完成");
                    openPDF(file);//打开PDF文件
                }
            } catch (Exception e) {
                // TODO: handle exception
                System.out.println(e.getMessage());
            }
        }

    2.打开PDF文件

    private void openPDF(File file) {
            if (file.exists()) {
                Log.d("打开","打开");
                Uri path1 = Uri.fromFile(file);
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setDataAndType(path1, "application/pdf");
                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
     
                try {
                    startActivity(intent);
                }
                catch (Exception e) {
                    Log.d("打开失败","打开失败");
                }
            }
        }

    3.新建一个线程调用下载方法

        private class MyAsyncTask extends AsyncTask<String, Void, File> {
    
            @Override
            protected File doInBackground(String... str) {
                return downFile(str[0]);//开始下载
            }
    
            @Override
            protected void onPostExecute(final File file) {
                //下载完成,修改UI
            }
        }

    4.调用

    
    String url = "https://staticzcjb.weibangong.com/pdf/business_license.pdf";
    new MyAsyncTask().execute(url, null, null);

     

    更多相关内容
  • 本文介绍如何让用户打开pdf文件时不是直接浏览器浏览而是直接以下载文件形式把pdf文件下载到电脑
  • 主要为大家详细介绍了vue实现在线预览pdf文件下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 通过python爬虫批量下载PDF文件,当前代码使用下载人教版学生教材举例; 其中涉及到批量下载、文件重命名、正则表达式等具体应用
  • 主要介绍了微信小程序实现打开并下载服务器上面的pdf文件到手机,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • Android扫描本地pdf文件和从网络下载pdf文件并打开实现文件的网络下载和打开,PDF依赖便捷好用
  • 通过URL下载PDF文件并调用PDF阅读器显示 以及通过WEBVIEW 显示PDF 文件
  • jmeter_下载文件.pdf

    2020-04-23 11:46:56
    最近很多同学都问jmeter上传、下载文件的脚本怎么做,要压测上传、下载文件的功能,脚本怎么做,网上查了都说的很含糊,这次呢,咱们就好好的把jmeter的上传下载文件好好缕缕,都整明白了,怎么个过程,怎么做。
  • 当需要下载一个PDF文件时,如果不经处理会直接浏览器里打开PDF文件,然后再需要通过另存为才能保存下载文件,下面通过PHP来实现直接下载PDF文件
  • android下载网络pdf文件并展示。代码量非常小,直接粘贴复制需要的代码即可
  • java下载PDF文件

    千次阅读 2021-03-09 02:19:55
    这个需求有两种表现形式,一种是当用户点击按钮时直接浏览器中弹出保存框下载PDF文件,另一种是返回PDF的视图,浏览器中预览PDF文件的内容,然后再下载。这里分别介绍两种实现方式:一、直接下载PDF文件本质上来...

    在实际应用中有这么一个场景,用户希望在页面上有一个下载按钮,点击按钮时把当前页的内容生产一个PDF文件下载下来。

    这个需求有两种表现形式,一种是当用户点击按钮时直接在浏览器中弹出保存框下载PDF文件,另一种是返回PDF的视图,在浏览器中预览PDF文件的内容,然后再下载。

    这里分别介绍两种实现方式:

    一、直接下载PDF文件

    本质上来说,把PDF文件读取到inputStream中,继而放入返回的的实体中。

    返回的ResponseEntity中,注意指定Content-Type的内容为application/pdf,

    且Content-Disposition的内容为attachment; filename="helloWorld.pdf"

    @RequestMapping(value = "/pdfDownload", method = GET)

    public ResponseEntity download() throws IOException {

    File file = new File("HelloWorld.pdf");

    InputStream in = new FileInputStream(file);

    final HttpHeaders headers = new HttpHeaders();

    headers.add("Content-Type", "application/pdf");

    headers.add("Content-Disposition", "attachment; filename=" + file.getName() );

    return new ResponseEntity<>(IOUtils.toByteArray(in), headers, HttpStatus.OK);

    }

    该方法在浏览器中直接访问localhost:8080/pdfDownload就回弹出一个文件保存框,选择保存的本地路径即可下载,或者有的效果是直接在浏览器中下载了PDF文件,这是因为所使用的浏览器本身的下载设置,可以根据个人喜好来设置究竟弹出还是不弹出保存框。

    二、浏览器预览PDF文件,再下载

    如果使用的不是RestController,就可以直接返回一个String字符串,内容为PDF文件的视图名称,这里定义为helloWorldPDF,该视图名在views.properties中配置

    @RequestMapping(value = "/pdfDownload2", method = GET)

    public String download2(HttpServletRequest request) throws IOException {

    return "helloWorldPDF";

    }

    resource资源文件夹中的views.properties文件的内容为:

    helloWorldPDF.(class)=com.test.report.PDFView

    这里的com.test.report.PDFView指的是定义的PDF视图的内容。

    我们使用了itextpdf的jar包来生成PDF文件的内容。

    compile group: 'com.itextpdf', name: 'itextpdf', version: '5.5.6'

    public class PDFView extends AbstractView {

    public PDFView() {

    setContentType("application/pdf");

    }

    @Override

    protected boolean generatesDownloadContent() {

    return true;

    }

    @Override

    protected final void renderMergedOutputModel(Map model,

    HttpServletRequest request, HttpServletResponse response)

    throws Exception {

    ByteArrayOutputStream baos = createTemporaryOutputStream();

    Document document = new Document(PageSize.A4);

    PdfWriter writer = PdfWriter.getInstance(document, baos);

    writer.setViewerPreferences(PdfWriter.ALLOW_PRINTING | PdfWriter.PageLayoutSinglePage);

    document.open();

    Paragraph header = new Paragraph(new Chunk("hello world"));

    document.add(header);

    document.close();

    writeToResponse(response, baos);

    }

    }

    以上就生成了我们需要的PDF文件的内容,并放进ByteArrayOutputStream中,调用writeToResponse方法把字节流传进response中。

    因为使用的是SpringBootApplication,所以需要加的一些配置是在 Application 的包含main方法的class中进行的

    @Bean

    public ResourceBundleViewResolver viewResolver() {

    ResourceBundleViewResolver resolver = new ResourceBundleViewResolver();

    resolver.setOrder(1);

    resolver.setBasename("views");

    return resolver;

    }

    如此一来就可以直接在浏览器中访问localhost:8080/pdfDownload2看到PDF文件的预览页面,在页面中可以进行下载,打印等操作。

    展开全文
  • pdf.js文件下载

    2018-10-31 10:53:57
    博客中所涉及到的文件路径,文件名及需要注释的部分都是与此资源相匹配的,大家可以直接下载配合文档解决问题
  • js读pdf文件

    2017-11-13 10:13:30
    js读取pdf文件,适配goole等浏览器。有相应的demo代码参考。
  • Java 读取PDF文件

    2019-07-04 16:11:49
    使用Java 读取PDF,利用JFrame和JPanel做成一个窗口,把读取的PDF文本显示到界面
  • web在线查看PDF文件,PDF.js文件,网页开发时需要预览pdf文件时可以用这个JS,很方便,通俗易懂,很强大的一个pdf插件
  • JS 实现web页面下载pdf文件,无需和后台交互,解决下载清晰度问题,解决分页问题;这次开发项目时,甲方服务器没有打印机,要求加的功能,自己费了很多时间收集资料研究,最后集成的代码;方便以后使用。希望对有...
  • 批量打包下载pdf文件,多sheet页导出excel
  • 原生java代码,导入到eclipse就能运行,这是研究了两天研究出来的,比网上的用什么doc转pdf,还有pdfbox之类的有效多了 而且没有乱码。...所需的模板另一地址下载:http://download.csdn.net/detail/wkanglu/9561919
  • vue 下载pdf文件

    千次阅读 2019-11-19 16:57:10
    首先安装依赖 ... 封装方法: ...//a4纸的尺寸[595.28,841.89],html页面生成的canvaspdf中图片的宽高 ...这里用class类名包裹的所有html样式都会按照vue展现的样式被canvas绘出来并以pdf文件输出
    1. 首先安装依赖npm install html2canvas jspdf --save
    2. 封装方法:
    // pdfMethod.js
    import html2canvas from 'html2canvas'
    import JsPDF from 'jspdf'
    const generateResume = (el, name) => {
      html2canvas(el).then(canvas => {
        let contentWidth = canvas.width
        let contentHeight = canvas.height
        //一页pdf显示html页面生成的canvas高度;
        let pageHeight = (contentWidth / 592.28) * 841.89
        //未生成pdf的html页面高度
        let leftHeight = contentHeight
        //页面偏移
        let position = 0
        //a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高
        let imgWidth = 595.28
        let imgHeight = (592.28 / contentWidth) * contentHeight
        let pageData = canvas.toDataURL('image/jpeg', 1.0)
        let pdf = new JsPDF('', 'pt', 'a4')
        //有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89)
        //当内容未超过pdf一页显示的范围,无需分页
        if (leftHeight < pageHeight) {
          pdf.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight)
        } else {
          while (leftHeight > 0) {
            //arg3-->距离左边距;arg4-->距离上边距;arg5-->宽度;arg6-->高度
            pdf.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight)
            leftHeight -= pageHeight
            position -= 841.89
            //避免添加空白页
            if (leftHeight > 0) {
              //添加新页
              pdf.addPage()
            }
          }
        }
        pdf.save(`${name}.pdf`)
      })
    }
    export default generateResume
    
    1. 开始使用:
    <template>
      <div class="priview_resume_container">
        <div style="font-size: 30px" @click="getResume">点这里下载</div>
      </div>
    </template>
    
    <script>
      export default {
        name: 'priviewResume',
        methods: {
          getResume() {
            generateResume(
            document.getElementsByClassName('priview_resume_container')[0],
            '测试'
            )
          }
        },
        components: {}
      }
    </script>
    

    这里用class类名包裹的所有html样式都会按照vue展现的样式被canvas绘出来并以pdf文件输出

    展开全文
  • java生成pdf文件Demo

    2017-03-24 17:17:59
    通过java代码先生成html,然后再将html转换成所需要的pdf文件
  • html文件生成pdf文件

    2018-05-27 16:28:07
    资源提供html、jsp文件导出生成pdf文件,采用客户端js方式生成pdf文件
  • 包括js资源,及简单demo实现:html中的pdf文件预览
  • NULL 博文链接:https://doujun1998.iteye.com/blog/1758708
  • Android 打开pdf文件

    2018-05-29 09:09:07
    实现了APP内部打开pdf文件,加载速度快,能够解决工作中有需要操作office的需求
  • android下载并打开网络上的pdf文件,6.0以上需要申请权限,到时候自己写一下就行了
  • android下载并阅读pdf文件
  • c# Winform 读取PDF文件

    2018-05-15 12:03:05
    c# Winform 读取PDF文件 新测可用 读取速度快 (非Webbrower的方式)
  • C#网页导出PDF文件

    2018-12-22 11:44:46
    用wkhtmltopdf把网页导为PDF文件,代码测试过了,下载用VS2010可以直接运行使用。
  • vue实现下载pdf文件

    千次阅读 热门讨论 2021-06-25 10:49:30
    1.前端实现下载pdf文件更多的是新开一个标签页来打开pdf文件,然后点击下载,这篇文章是分享的 是点击直接下载,无需新开标签页 2.这里是pdf文件已经由后台生成并且传到了阿里云,所以这边直接传入线上地址即可,...
    1.前端实现下载pdf文件更多的是新开一个标签页来打开pdf文件,然后在点击下载,这篇文章是分享的
    是点击直接下载,无需新开标签页
    
    2.这里是pdf文件已经由后台生成并且传到了阿里云,所以这边直接传入线上地址即可,其他小伙伴没有线上地址的
    可以先实现阿里云上传或者其他方法获取到线上地址在调用。
    
    3.pdf的预览可以直接用a标签或者window.open来实现
    
    this.fileLinkToStreamDownload(url)   //直接传入要下载的pdf文件的线上地址
    
    fileLinkToStreamDownload(url) {
          let fileName = this.getDay()
          let reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\/])+$/
          if (!reg.test(url)) {
            throw new Error('传入参数不合法,不是标准的文件链接')
          } else {
            let xhr = new XMLHttpRequest()
            xhr.open('get', url, true)
            xhr.setRequestHeader('Content-Type', `application/pdf`)
            xhr.responseType = 'blob'
            let that =this
            xhr.onload = function() {
              if (this.status == 200) {
                //接受二进制文件流
                var blob = this.response
                that.downloadExportFile(blob, fileName)
              }
            }
            xhr.send()
          }
        },
    
     downloadExportFile(blob, tagFileName) {
          let downloadElement = document.createElement('a')
          let href = blob
          if (typeof blob == 'string') {
            downloadElement.target = '_blank'
          } else {
            href = window.URL.createObjectURL(blob) //创建下载的链接
          }
          downloadElement.href = href
          downloadElement.download =
              tagFileName+
               //下载后文件名
          document.body.appendChild(downloadElement)
          downloadElement.click() //点击下载
          document.body.removeChild(downloadElement) //下载完成移除元素
          if (typeof blob != 'string') {
            window.URL.revokeObjectURL(href) //释放掉blob对象
          }
        },
    
    getDay()方法:拿当前的时间戳拼接,保证文件名字的唯一性,避免重名
    
    function getDay() {
    	let time = new Date(),
    	year = time.getFullYear(),
    	month = time.getMonth() + 1,
    	day = time.getDate(),
    	timeStem = time.getTime()
    	return `${year}/${month}/${day}/${timeStem}.jpg`
    }
    
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 189,474
精华内容 75,789
关键字:

下载的pdf文件在哪里