精华内容
下载资源
问答
  • BootStrap3开发文档 BootStrap简介 Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架Bootstrap 是基于 HTMLCSSJAVASCRIPT 的自 Bootstrap 3 起框架包含了贯穿于整个库的移动设备优先的样式Bootstrap 的...
  • 公司前一段时间做的一个项目中应用到了这个技术,需要后台获取数据后在前台直接下载word文档,利用freemarker模版生成的doc文档在电脑上可以正常打开,但是发送到手机上打开则全部变成“乱码”。但实际上并不是乱码...

       公司前一段时间做的一个项目中应用到了这个技术,需要后台获取数据后在前台直接下载word文档,利用freemarker模版生成的doc文档在电脑上可以正常打开,但是发送到手机上打开则全部变成“乱码”。但实际上并不是乱码,而是xml格式的代码,在手机等移动端显示不出正常的文档信息。之后辗转查询使用了很多方案,比如利用poi操作,利用jacob进行格式转换,但是效果都不尽如人意,而且处理过程非常复杂,浪费了大量时间。最终,通过不断摸索,找到了非常完美的解决方案。不需要先生成xml格式的doc文档再去转换,而是戒指在后台利用模版添加数据后,利用IO流进行替换,可以直接生成标准的docx文档。

        首先需要理解的一点是,docx文档本身是一个压缩文件。在利用这个方案前要先准备好docx模版。在这个docx模版中,将要替换的数据用${}的方式替换掉,先占好位置。如图:

        将docx改后缀名为.zip并解压出来。在word文件夹下有一个文件为、:document.xml

        利用notpad等工具打开此文件,将格式修改好,比如在xml文件中${xxx}分别氛围${ ,  xxx 以及 } 三部分存贮在不同的标签下,要将他们合并到一起。

        随后将保存好的document.xml和之前定义好的zip文件放入工程的配置文件夹下,方便引用。

        核心代码如下

      Configuration
                 configuration = new Configuration();
         /** 设置编码 **/
         /** 我的ftl文件是放在D盘的**/
         String fileDirectory = "D:/cache/qqChace/T1/xlsx";
         /** 加载文件 **/
         configuration.setDirectoryForTemplateLoading(new File(fileDirectory));
         /** 加载模板 **/
         Template template = configuration.getTemplate("document.xml");
         /** 准备数据 **/
         Map<String,String> dataMap = new HashMap<>();
         /** 在ftl文件中有${textDeal}这个标签**/
    
         dataMap.put("id","哈士奇");
         dataMap.put("number","20");
         dataMap.put("language","java,php,python,c++.......");
         dataMap.put("example","Hello World!");
    
         /** 指定输出word文件的路径 **/
         String outFilePath = "D:/cache/qqChace/T1/xlsx/data.xml";
         File docFile = new File(outFilePath);
         FileOutputStream fos = new FileOutputStream(docFile);
         OutputStreamWriter oWriter = new OutputStreamWriter(fos);
         Writer out = new BufferedWriter(new OutputStreamWriter(fos),10240);
         template.process(dataMap,out);
    
         if(out != null){
             out.close();
         }
         // ZipUtils 是一个工具类,主要用来替换具体可以看github工程
         ZipInputStream zipInputStream = ZipUtils.wrapZipInputStream(new FileInputStream(new File("D:/cache/qqChace/T1/xlsx/test.zip")));
            ZipOutputStream zipOutputStream = ZipUtils.wrapZipOutputStream(new FileOutputStream(new File("D:/cache/qqChace/T1/xlsx/test.docx")));
            String itemname = "word/document.xml";
            ZipUtils.replaceItem(zipInputStream, zipOutputStream, itemname, new FileInputStream(new File("D:/cache/qqChace/T1/xlsx/data.xml")));
            System.out.println("success");

        这段代码是转来的,https://blog.csdn.net/u013076044/article/details/79236000

       想要源码可以去这个地址下载。

       上面主要解决的问题事文字的转换,下面要说的关于图片的转换问题。

        将zip文件解压后会发现,document.xml中没有你原本保存在docx中的图片,图片是在word下的media文件夹下。document.xml中或许只是引用。但是仍可以通过这种方式,以流的形式替换图片。只要保证图片的顺序不乱就可以了。

       下面是我在上面这段代码上进行的改动

        String zipPath =  this.getClass().getResource("/freemarkerDoc.zip").getPath();
    	        try {
    	            ZipInputStream zipInputStream = ZipUtils.wrapZipInputStream(new FileInputStream(new File(zipPath)));
    	            ZipOutputStream zipOutputStream = ZipUtils.wrapZipOutputStream(new FileOutputStream(new File(basePath+patientInfo.getName()+"连续血氧检测报告("+reportInfo.getId()+").docx")));//这个是要生成文档的路径和名称
    	            String itemname = "word/document.xml";
    	            String itemname2 = "word/media/";
    	            String picturePath = PropertiesUtil.getBinaryRoorPath("picturePath")+File.separator+patientInfo.getId()+File.separator+reportInfo.getId()+File.separator;
    	            ZipUtils.replaceItem(zipInputStream, zipOutputStream, itemname, new FileInputStream(new File(url)), itemname2, picturePath);
    	            System.out.println("success");
    
    	        } catch (Exception e) {
    	            System.out.println(e.toString());
    	        }

    我的docx文档中工有四张图片,所以在zipUtil中要传入你要替换上去的图片路径。代码如下

     public static void replaceItem(ZipInputStream zipInputStream,
                                       ZipOutputStream zipOutputStream,
                                       String itemName,
                                       InputStream itemInputStream
                                       ,
                                       String itemName2,
                                       String picturePath
        ){
            //
            if(null == zipInputStream){return;}
            if(null == zipOutputStream){return;}
            if(null == itemName){return;}
            if(null == itemInputStream){return;}
            InputStream itemIS = null;
            //
            ZipEntry entryIn;
            try {
                while((entryIn = zipInputStream.getNextEntry())!=null)
                {
                    String entryName =  entryIn.getName();
                    ZipEntry entryOut = new ZipEntry(entryName);
                    // 只使用 name
                    zipOutputStream.putNextEntry(entryOut);
                    // 缓冲区
                    byte [] buf = new byte[8*1024];
                    int len;
                    //image1.png等是media目录下的图片名称。
                    String ima1 = itemName2+"image1.png";
                    String ima2 = itemName2+"image2.png";
                    String ima3 = itemName2+"image3.png";
                    String ima4 = itemName2+"image4.png";
                    
                    if(entryName.equals(itemName)){
                        // 使用替换流
                        while((len = (itemInputStream.read(buf))) > 0) {
                            zipOutputStream.write(buf, 0, len);
                        }
                    }else if(entryName.equals(ima1)){
                        // 使用替换流,将需要替换上去的图片路径以流的形式获取
                    	itemIS = new FileInputStream(new File(picturePath+"spo2PiePicture.png"));
                        while((len = (itemIS.read(buf))) > 0) {
                            zipOutputStream.write(buf, 0, len);
                        }
                    }else if(entryName.equals(ima2)){
                      // 使用替换流
                		itemIS = new FileInputStream(new File(picturePath+"prPiePicture.png"));
    	                while((len = (itemIS.read(buf))) > 0) {
    	                    zipOutputStream.write(buf, 0, len);
    	                }
                    }else if(entryName.equals(ima3)){
                    // 使用替换流
                    	itemIS = new FileInputStream(new File(picturePath+"spo2Picture.png"));
    	                while((len = (itemIS.read(buf))) > 0) {
    	                   zipOutputStream.write(buf, 0, len);
    	                }
                    }else if(entryName.equals(ima4)){
                        // 使用替换流
                    	itemIS = new FileInputStream(new File(picturePath+"prPicture.png"));
    	                while((len = (itemIS.read(buf))) > 0) {
    	                    zipOutputStream.write(buf, 0, len);
    	                }
                    }else {
                        // 输出普通Zip流
                        while((len = (zipInputStream.read(buf))) > 0) {
                            zipOutputStream.write(buf, 0, len);
                        }
                    }
                    // 关闭此 entry
                    zipOutputStream.closeEntry();
    
                }
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                //e.printStackTrace();
                close(itemInputStream);
                close(zipInputStream);
                close(zipOutputStream);
                close(itemIS);
            }
        }

    转换完成后要讲所有的流全部关闭,就完成了。

    展开全文
  • 摘录文档可编辑分享 PAGE 页码页码/NUMPAGES 总页数总页数 小米手机测试代码大全 小米手机指令集合 #64663* 综合测试指令 #4636* 显示手机信息电池信息电池记录使用统计数据WiFi信息 #7780* 重设为原厂设定不会删除...
  • 本测试报告为招标手机APP的测试报告,目的在于总结测试阶段的测试情况以及分析测试结果,描述系统是否符合用户需求,是否已达到用户预期的功能目标,并对测试质量进行分析。 测试报告参考文档提供给用户、测试人员...
  • 目前最新版本(官网最新43903版本SDK)仅支持本地文件查看 配置: 1、gradle中引入(使用此方法...//X5兼容64位手机 ndk { abiFilters "armeabi", "armeabi-v7a", "x86", "mips" } 3、在你的Application 的onCre.

    目前最新版本(官网最新43903版本SDK)仅支持本地文件查看

    测试Demo:https://download.csdn.net/download/jifenglie/12510710

    腾讯TBS初始化失败,加载失败问题 : https://blog.csdn.net/jifenglie/article/details/106669723

     

    配置:

    1、gradle中引入(使用此方法,不需要在去官网下载SDK,也不需要下载SO文件)

    implementation 'com.tencent.tbs.tbssdk:sdk:43903'
    

    2、在gradle中配置 ndk

    //X5兼容64位手机
    ndk {
        abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
    }

     

    3、在你的Application 的onCreate 方法中初始化:

    //初始化X5内核
    QbSdk.initX5Environment(this, new QbSdk.PreInitCallback() {
        @Override
        public void onCoreInitFinished() {
            //x5内核初始化完成回调接口,此接口回调并表示已经加载起来了x5,有可能特殊情况下x5内核加载失败,切换到系统内核。
    
        }
    
        @Override
        public void onViewInitFinished(boolean b) {
            //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
            Log.e("@@","加载内核是否成功:"+b);
        }
    });

    使用:

    1、本地文件存在,直接使用TbsReaderView打开:

    private String tbsReaderTemp = Environment.getExternalStorageDirectory() + "/TbsReaderTemp";
    
    private void displayFile(String filePath, String fileName) {
         //增加下面一句解决没有TbsReaderTemp文件夹存在导致加载文件失败
         String bsReaderTemp = tbsReaderTemp;
         File bsReaderTempFile = new File(bsReaderTemp);
         if (!bsReaderTempFile.exists()) {
             Log.d("print", "准备创建/TbsReaderTemp!!");
             boolean mkdir = bsReaderTempFile.mkdir();
             if (!mkdir) {
                 Log.d("print", "创建/TbsReaderTemp失败!!!!!");
             }
         }
         Bundle bundle = new Bundle();
         Log.d("print", "filePath" + filePath);//可能是路径错误
         Log.d("print", "tempPath" + tbsReaderTemp);
         bundle.putString("filePath", filePath);
         bundle.putString("tempPath", tbsReaderTemp);
         boolean result = mTbsReaderView.preOpen(getFileType(fileName), false);
         Log.d("print", "查看文档---" + result);
         if (result) {
             mTbsReaderView.openFile(bundle);
         } else {
    
         }
     }

    2、文件不存在去下载

    OkGo.get(docUrl)//
            .tag(this)//
            .execute(new FileCallback(download, docName) {  //文件下载时,可以指定下载的文件目录download和文件名docName
                @Override
                public void onSuccess(File file, Call call, Response response) {
                    // file 即为文件数据,文件保存在指定目录
                    Log.d("print", "下载文件成功");
                    displayFile(download + file.getName(), file.getName());
                    Log.d("print", "" + file.getName());
                }
    
                @Override
                public void downloadProgress(long currentSize, long totalSize, float progress, long networkSpeed) {
                    //这里回调下载进度(该回调在主线程,可以直接更新ui)
                    Log.d("print", "总大小---" + totalSize + "---文件下载进度---" + progress);
                }
            });

     

     

    完整的展示pdf文件的代码:

    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Environment;
    import android.support.v7.app.AppCompatActivity;
    import android.text.TextUtils;
    import android.util.Log;
    import android.widget.RelativeLayout;
    
    import com.lzy.okgo.OkGo;
    import com.lzy.okgo.callback.FileCallback;
    import com.tencent.smtt.sdk.TbsReaderView;
    
    import java.io.File;
    
    import okhttp3.Call;
    import okhttp3.Response;
    
    public class TbsActivity extends AppCompatActivity implements TbsReaderView.ReaderCallback {
    
        RelativeLayout mRelativeLayout;
        private TbsReaderView mTbsReaderView;
        //    private String docUrl = "/test\\/WD802-8.doc";
    //    private String docUrl = "/test\\/安卓类库整理20190125.xlsx";
    //    private String docUrl = "/test\\/登录.pdf";
        private String docUrl = "/test\\/新个人所得税法扣缴及六项专项附加扣除操作指引.ppt";
    //    private String docUrl = "/test\\/接口需求0327.docx";
    
    
    //    private String docUrl = "http:\\/\\/zyweike.cdn.bcebos.com\\/zyweike\\/ep1\\/2018\\/04\\/02\\/周末加班统计.xlsx";
    
    
        private String download = Environment.getExternalStorageDirectory() + "/download/test/document/";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_tbs);
            mTbsReaderView = new TbsReaderView(this, this);
            mRelativeLayout = findViewById(R.id.tbsView);
            mRelativeLayout.addView(mTbsReaderView, new RelativeLayout.LayoutParams(-1, -1));
    
            Intent intent = getIntent();
            String data = intent.getStringExtra("type");
            if ("1".equals(data)) {
                this.docUrl = "/test\\\\/WD802-8.doc";
            } else if ("2".equals(data)) {
                docUrl = "/test\\\\/接口需求0327.docx";
            }else if("3".equals(data)){
                docUrl = "/test\\\\/登录.pdf";
            }else if("4".equals(data)){
                docUrl = "/test\\\\/安卓类库整理20190125.xlsx";
            } else if ("5".equals(data)) {
                docUrl = "/test\\/新个人所得税法扣缴及六项专项附加扣除操作指引.ppt";
            }
    
            initDoc();
        }
    
        private void initDoc() {
            int i = docUrl.lastIndexOf("/");
            String docName = docUrl.substring(i, docUrl.length());
            Log.d("print", "---substring---" + docName);
    
    //        String[] split = docUrl.split("\\/");
    //        String s = split[split.length - 4] + split[split.length - 3] + split[split.length - 2] + split[split.length - 1];
    //        Log.d("print", "截取带时间---" + s);
            //判断是否在本地/[下载/直接打开]
            File docFile = new File(download, docName);
            if (docFile.exists()) {
                //存在本地;
                Log.d("print", "本地存在");
                displayFile(docFile.toString(), docName);
            } else {
                OkGo.get(docUrl)//
                        .tag(this)//
                        .execute(new FileCallback(download, docName) {  //文件下载时,可以指定下载的文件目录和文件名
                            @Override
                            public void onSuccess(File file, Call call, Response response) {
                                // file 即为文件数据,文件保存在指定目录
                                Log.d("print", "下载文件成功");
                                displayFile(download + file.getName(), file.getName());
                                Log.d("print", "" + file.getName());
                            }
    
                            @Override
                            public void downloadProgress(long currentSize, long totalSize, float progress, long networkSpeed) {
                                //这里回调下载进度(该回调在主线程,可以直接更新ui)
                                Log.d("print", "总大小---" + totalSize + "---文件下载进度---" + progress);
                            }
                        });
            }
    
        }
    
        private String tbsReaderTemp = Environment.getExternalStorageDirectory() + "/TbsReaderTemp";
    
        private void displayFile(String filePath, String fileName) {
    
            //增加下面一句解决没有TbsReaderTemp文件夹存在导致加载文件失败
            String bsReaderTemp = tbsReaderTemp;
            File bsReaderTempFile = new File(bsReaderTemp);
            if (!bsReaderTempFile.exists()) {
                Log.d("print", "准备创建/TbsReaderTemp!!");
                boolean mkdir = bsReaderTempFile.mkdir();
                if (!mkdir) {
                    Log.d("print", "创建/TbsReaderTemp失败!!!!!");
                }
            }
            Bundle bundle = new Bundle();
       /*   1.TbsReader: Set reader view exception:Cannot add a null child view to a ViewGroup
            TbsReaderView: OpenFile failed! [可能是文件的路径错误]*/
       /*   2.插件加载失败
            so文件不支持;*/
       /*
       ndk {
                //设置支持的SO库架构  'arm64-v8a',
                abiFilters 'armeabi', "armeabi-v7a",  'x86'
            } */
       /*
            3.自适应大小
    
        */
            Log.d("print", "filePath" + filePath);//可能是路径错误
            Log.d("print", "tempPath" + tbsReaderTemp);
            bundle.putString("filePath", filePath);
            bundle.putString("tempPath", tbsReaderTemp);
            boolean result = mTbsReaderView.preOpen(getFileType(fileName), false);
            Log.d("print", "查看文档---" + result);
            if (result) {
                mTbsReaderView.openFile(bundle);
            } else {
    
            }
        }
    
        private String getFileType(String paramString) {
            String str = "";
            if (TextUtils.isEmpty(paramString)) {
                Log.d("print", "paramString---->null");
                return str;
            }
            Log.d("print", "paramString:" + paramString);
            int i = paramString.lastIndexOf('.');
            if (i <= -1) {
                Log.d("print", "i <= -1");
                return str;
            }
            str = paramString.substring(i + 1);
            Log.d("print", "paramString.substring(i + 1)------>" + str);
            return str;
        }
    
        @Override
        public void onCallBackAction(Integer integer, Object o, Object o1) {
    
        }
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            mTbsReaderView.onStop();
        }
    }
    
    activity_tbs.xml
    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    
    <RelativeLayout
        android:id="@+id/tbsView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        >
    
    </RelativeLayout>
    
    </android.support.constraint.ConstraintLayout>
    

     

    测试Demo:https://download.csdn.net/download/jifenglie/12510710

    腾讯TBS初始化失败,加载失败问题 : https://blog.csdn.net/jifenglie/article/details/106669723

    展开全文
  • 软考中级教材,WORD,带重点标识。第15章,配置管理。之所以做word版本,主要是文档大小比较合适,且适合做笔记,增加或更改想要的内容,改的更适合自己的记忆习惯。也适合发到手机上,随时查看。
  • 你我共享 精品文档 你我共享 腹有诗书气自华 腹有诗书气自华 小米手机1原生Android 4.1系统刷机教程 各位亲爱的米粉 小米手机1原生An droid 4.1 系统已经正式公测小米手机 1小米 手机1s及小米手机1S青春均可升级您...
  • PAGE / NUMPAGES 最新Android手机必备软件附下载地址 驾考宝典_ 官方下载网站 / 全新下载地址 /tongyong/android.html文档来自于网络搜索 驾考宝典是一款驾驶员模拟考试软件采用2011最新全国标准题库用户可设置...
  • WPS手机正式

    2013-10-24 23:14:08
    WPS Office Android版 WPS手机版 是国内软件厂家金山开发的的一款移动办公软件 WPS office手机版定位于满足用户对移动办公的需求 WPS手机版Kingsoft Office能够查看 编辑 创建Office文档 满足您在手机或平板电脑上...
  • 跳棋APP开发.docx

    2017-01-23 11:21:44
    手机游戏跳棋,开发的设计文档。 该游戏的一个版本已经发布在网上。
  • [软件仅适用于2.1及以上固件版本]WPS Office手机版是金山开发的的一款移动办公软件,文档编辑掌上进行,随时随地方便办公!软件能够满足广大的Android手机或平板用户对于常见的office文档随时随地办公的需求,完美支持...
  • 文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持 . Linux 操作系统学习心得 Linux 操作系统这个名词记得在很早以前就听过 ,但具体是什么样 的系统却真的不知道 ,甚至都不知道它是手机系统还是电脑系统 ,...
  • 智能办公 Smart Office 中文是款office文档处理软件,支持普通的 Word、PPT 和 Excel 文档的编辑,预设丰富的样式。虽然现在市面上也有不少 Android Office 办公应用程序,功能上也都大同小异,正确的选择一个适合...
  • 软考中级教材,WORD,带重点标识。第14章,采购管理。之所以做word版本,主要是文档大小比较合适,且适合做笔记,增加或更改想要的内容,改的更适合自己的记忆习惯。也适合发到手机上,随时查看。
  • 软考中级教材,WORD,带重点标识。第13章,合同管理。之所以做word版本,主要是文档大小比较合适,且适合做笔记,增加或更改想要的内容,改的更适合自己的记忆习惯。也适合发到手机上,随时查看。
  • 软考中级教材,WORD,带重点标识。第12章,沟通管理。之所以做word版本,主要是文档大小比较合适,且适合做笔记,增加或更改想要的内容,改的更适合自己的记忆习惯。也适合发到手机上,随时查看。
  • 软考中级教材,WORD,带重点标识。第10章,质量管理。之所以做word版本,主要是文档大小比较合适,且适合做笔记,增加或更改想要的内容,改的更适合自己的记忆习惯。也适合发到手机上,随时查看。
  • 软考中级教材,WORD,带重点标识。第11章,人力资源管理。之所以做word版本,主要是文档大小比较合适,且适合做笔记,增加或更改想要的内容,改的更适合自己的记忆习惯。也适合发到手机上,随时查看。
  • 安卓专业手机办公应用 Quickoffice Pro PDF 中文安卓专业手机办公应用 Quickoffice Pro PDF 中文 软件名称 Quickoffice Pro PDF 软件版本 6.5 软件大小 11M 支持系统 Android 2.0+ 测试机型:夏新A900W 软件...
  • 支持查看和编辑doc/docx文档,无论图文、表格混排还是批注、修订模式,均游刃有余,并支持Word文档的加密和解密。查找替换、书签笔记功能则针对移动设备做了免费优化,还针对三星Note系列提供了Spen手写定制版本。 ...
  • 专业定制仿百度文库网站系统,文库网站系统源码,文库‌‌‌‌网站建设开发,支持电脑版+手机版+微信版+小程序版+APP版,由10年的技术团队专业定制,需要的朋友可以联系我们。 网站采用:PHP+MySQL+thinkPHP框架(可...

    专业定制仿百度文库网站系统,文库网站系统源码,文库‌‌‌‌网站建设开发,支持电脑版+手机版+微信版+小程序版+APP版,由10年的技术团队专业定制,需要的朋友可以联系我们。
    网站采用:PHP+MySQL+thinkPHP框架(可定制)
    支持doc、docx 、ppt、 pptx、 xls、 xlsx、 pdf等主流文档格式

    提供一站式服务:联系QQ:2 3 6 0 2 4 8666(私聊),微信:luenmicro 电话:186-7597-7935 


    仿百度文库网站系统,文库网站系统源码,文库网站建设
    仿百度文库网站系统,文库网站系统源码,文库网站建设
    仿百度文库网站系统,文库网站系统源码,文库网站建设
    仿百度文库网站系统,文库网站系统源码,文库网站建设
    仿百度文库网站系统,文库网站系统源码,文库网站建设
    仿百度文库网站系统,文库网站系统源码,文库网站建设

     

    展开全文
  • WPS Office 安卓无疑是目前国内用户最多的手机移动办公软件之一,而且个人永久免费,WPS Office 有体积小、...支持查看和编辑doc/docx文档,无论图文、表格混排还是批注、修订模式,均游刃有余,并支持Word文...

    WPS Office 安卓版无疑是目前国内用户最多的手机移动办公软件之一,而且个人版永久免费,WPS Office 有体积小、速度快、字体清晰、翻页流畅,其独有手机阅读模式给用户带来了不错的办公体验,而且完美支持微软 Office、PDF 等多种文档格式。

    WPS Office  Google Play + 国内直装特别版
    ★WPS文字:公文级的文档处理能力
    支持查看和编辑doc/docx文档,无论图文、表格混排还是批注、修订模式,均游刃有余,并支持Word文档的加密和解密。查找替换、书签笔记功能则针对移动设备做了特别优化,还针对三星Note系列提供了Spen手写定制版本。

    ★WPS表格:强大的表格计算能力
    支持xls/xlsx文档的查看和编辑,以及多种Excel加解密算法。已支持305种函数和34种图表模式,为解决手机输入法输入函数困难的问题,提供专用公式输入编辑器,方便用户快速录入公式。

    ★WPS 演示:会议演讲的明星
    支持ppt/pptx文档的查看、编辑和加解密,支持复杂的SmartArt对象和多种对象动画/翻页动画模式。会议室开会不再需要电脑,使用支持Miracast、DLNA和米联的手机或平板电脑即可使用无线投影功能,将文档投影在电视和投影仪上。特有互联网共享播放功能,一支手机轻松实现电话会议与ppt播放同步进行。

    ★PDF:全新手机阅读模式
    PDF组件在查看PDF文档时提供了双重引擎,独有的手机阅读引擎智能优化在手机上字体过小阅读不便的 PDF文档,手机阅读模式更加符合用户的阅读习惯,让工作、学习不再受书桌的禁锢,随时随地自在由心。

    WPS Office  Google Play + 国内直装特别版

    关于会员去广告纯净版:

    感谢XDA大神的修改和分享;特点如下:

    • 高级版本功能解锁;
    • 转换PDF格式解锁;
    • PDF签名解锁;
    • 移除全部广告和活动项;
    • 禁用分析;

    感谢ZG大神的修改和分享;特点如下:

    • 解锁PDF转换功能(需要登录);
    • 解锁PDF签名功能;
    • 去广告、去升级、去自启、去多余权限、去启动画面、去多余界面!
    • 去主菜单”我”项:红色标记,签到送好礼文字;
    • 去主菜单广告项:”猎豹填写简历(猎豹网广告)”;
    • 去主菜单多余项:”进入社区、软件评分;
    • 去界面底部所有项:”图书、发现、逛逛(淘宝网广告);
    • 去我的页面推广项:挣淘米、兑奖品、领礼包、抽奖;
    • 去我的页面多余项:开通会员、我的钱包、热门任务;
    • 去关于页面多余项:检查更新、官方微博、推荐好友、了解WPS;
    • 去启动画面,去后续检测升级提示、去多余服务权限唤醒等等!

    感谢瀚海大神的修改和分享;特点如下:

    • 登录后所有功能启用;
    • 删除所有广告和相关活动;
    • 删除底部的“应用程序”和“云文档”;
    • 拆除VIP中心。
    • 去除红点;
    • 删除一些权限,如位置;
    • 启用PDF高级工具。

    下载:https://www.lanzous.com/b770780/ 
    密码:97j7

    百度未收录

    微信公众号【木头分享】,超多福利超多资源木头分享

    展开全文
  • 完全兼容桌面办公文档,支持DOC/DOCX/WPS/XLS/XLSX/PPT/PPTX/TXT/PDF等23种文件格式。支持查看、创建和编辑各种常用Office文档,方便用户在手机和平板上使用,满足您随时随地办公的需求。   官方介绍:  金山...
  • - 支持查看和编辑doc/docx/wps/txt文档;- 支持查看/xls/et文档(后续将提供编辑功能);- 支持查看/ppt/dps文档(后续将提供动画播放和编辑功能);- 内置文件管理器,能自动整理手机或平板电脑上的办公文档;- 与...
  • 优势:可以同时支持pc端和手机端,支持文件类型包括 doc,ppt,xls,docx,pptx,xlsx,pdf等, 支持文件缓存 分页浏览 准备工作 从msdn上下了一个系统,安装后面的一些软件怎么都安装不上,最后换了个系统没问题了 具体...
  • - 支持查看和编辑doc/docx/wps/txt文档; - 支持查看/xls/et文档(后续将提供编辑功能); - 支持查看/ppt/dps文档(后续将提供动画播放和编辑功能); - 内置文件管理器,能自动整理手机或平板电脑上的办公文档; -...
  • 和大家说下,这玩意是干嘛的,不会安装的安里面的软件部署文档.docx跟如何添加开发者证书.docx两个文档 方便大家理解 我们苹果手机正常下载是从appstore上下载对吧 但是有些app上不了appstore, 所以无法在用户...
  • WPS Office v12.9.4安卓移动...完全兼容桌面办公文档,支持DOC/DOCX/WPS/XLS/XLSX/PPT/PPTX/TXT/PDF等23种文件格式。支持查看、创建和编辑各种常用Office文档,方便用户在手机和平板上使用,满足您随时随地办公的需求。
  • - 支持查看和编辑doc/docx/wps/txt文档; - 支持查看/xls/et文档(后续将提供编辑功能); - 支持查看/ppt/dps文档(后续将提供动画播放和编辑功能); - 内置文件管理器,能自动整理手机或平板电脑上的办公文档; -...
  • - 支持查看和编辑doc/docx/wps/txt文档; - 支持查看和编辑xls/et/xlsx文档; - 支持查看/ppt/dps文档(后续将提供动画播放和编辑功能); - 内置文件管理器,能自动整理手机或平板电脑上的办公文档; - 与邮件应用...

空空如也

空空如也

1 2 3
收藏数 52
精华内容 20
关键字:

docx文档手机版