用户登录
用户注册

分享至

java获取word页数 java如何获取word文档页数

  • 作者: 不吃鱼的猫ing
  • 来源: 51数据库
  • 2020-04-21

XWPFDocument docx = new XWPFDocument(POIXMLDocument.openPackage(电月度例会会议纪要.docx));int pages = docx.getProperties().getExtendedProperties().getUnderlyingProperties().getPages();//总页数int wordCount = docx.getProperties().getExtendedProperties().getUnderlyingProperties().getCharacters();// 忽略空格的总字符数 另外还有getCharactersWithSpaces()方法获取带空格的总字数。System.out.println (pages= + pages + wordCount= + wordCount);}public static void parse97() throws Exception {WordExtractor doc = new WordExtractor(new FileInputStream(电月度例会会议纪要.doc));

java如何获取word文档页数

int pages = docx.getProperties().getExtendedProperties().getUnderlyingProperties().getPages();//总页数int wordCount = docx.getProperties().getExtendedProperties().getUnderlyingProperties().getCharacters();// 忽略空格的总字符数 另外还有getCharactersWithSpaces()方法获取带空格的总字数。

java有什么好的方法计算word页数 poi好像不准

XWPFDocument docx = new XWPFDocument(POIXMLDocument.openPackage(电月度例会会议纪要.docx));

int pages = docx.getProperties().getExtendedProperties().getUnderlyingProperties().getPages();//总页数

int wordCount = docx.getProperties().getExtendedProperties().getUnderlyingProperties().getCharacters();// 忽略空格的总字符数 另外还有getCharactersWithSpaces()方法获取带空格的总字数。

System.out.println (pages= + pages + wordCount= + wordCount);}

public static void parse97() throws Exception {

WordExtractor doc = new WordExtractor(new FileInputStream(电月度例会会议纪要.doc));

java实现插入word页眉页脚以及生成目录及页码

public class JavaToWords {

/**

* word运行程序对象

*/

private ActiveXComponent word;

/**

* 选定内容

* @return Dispatch 选定的范围或插入点

*/

public Dispatch select() {

return word.getProperty("Selection").toDispatch();

}

public void toWord(String seekView) {

Dispatch selection = select();

//设置页眉

if(seekView != null && !"".equals(seekView)){

//取得活动窗体对象

Dispatch ActiveWindow = word.getProperty("ActiveWindow").toDispatch();

//取得活动窗格对象

Dispatch ActivePane = Dispatch.get(ActiveWindow,"ActivePane").toDispatch();

//取得视窗对象

Dispatch View = Dispatch.get(ActivePane, "View").toDispatch();

try{

Dispatch.put(View,"SeekView", "9"); //设置页眉

Dispatch.put(selection,"Text",seekView);

Dispatch.put(View, "SeekView", "10"); // 10是设置页脚

Dispatch.put(selection, "Text", seekView); //

}finally{

if(ActiveWindow != null ) ActiveWindow.safeRelease();

if(ActivePane != null ) ActivePane.safeRelease();

if(View != null ) View.safeRelease();

}

}

}

}

希望对你有些帮助,不过好像要下一个外部资源包,叫jacob 的,我也记的不太清楚了,应该是这个,你找找看

java能否wps调用页码

1. [代码][Java]代码

package experiments;

import com.jacob.activeX.ActiveXComponent;

import com.jacob.com.Dispatch;

import com.jacob.com.DispatchEvents;

import com.jacob.com.Variant;

import java.io.File;

import java.util.logging.Level;

import java.util.logging.Logger;

public class Doc2Pdf {

public static Converter newConverter(String name) {

if (name.equals("wps")) {

return new Wps();

} else if (name.equals("pdfcreator")) {

return new PdfCreator();

}

return null;

}

public synchronized static boolean convert(String word, String pdf) {

return newConverter("pdfcreator").convert(word, pdf);

}

public static interface Converter {

public boolean convert(String word, String pdf);

}

public static class Wps implements Converter {

public synchronized boolean convert(String word, String pdf) {

File pdfFile = new File(pdf);

File wordFile = new File(word);

ActiveXComponent wps = null;

try {

wps = new ActiveXComponent("wps.application");

ActiveXComponent doc = wps.invokeGetComponent("Documents").invokeGetComponent("Open", new Variant(wordFile.getAbsolutePath()));

doc.invoke("ExportPdf", new Variant(pdfFile.getAbsolutePath()));

doc.invoke("Close");

doc.safeRelease();

} catch (Exception ex) {

Logger.getLogger(Doc2Pdf.class.getName()).log(Level.SEVERE, null, ex);

return false;

} catch (Error ex) {

Logger.getLogger(Doc2Pdf.class.getName()).log(Level.SEVERE, null, ex);

return false;

} finally {

if (wps != null) {

wps.invoke("Terminate");

wps.safeRelease();

}

}

return true;

}

}

public static class PdfCreator implements Converter {

public static final int STATUS_IN_PROGRESS = 2;

public static final int STATUS_WITH_ERRORS = 1;

public static final int STATUS_READY = 0;

private ActiveXComponent pdfCreator;

private DispatchEvents dispatcher;

private volatile int status;

private Variant defaultPrinter;

private void init() {

pdfCreator = new ActiveXComponent("PDFCreator.clsPDFCreator");

dispatcher = new DispatchEvents(pdfCreator, this);

pdfCreator.setProperty("cVisible", new Variant(false));

pdfCreator.invoke("cStart", new Variant[]{new Variant("/NoProcessingAtStartup"), new Variant(true)});

setCOption("UseAutosave", 1);

setCOption("UseAutosaveDirectory", 1);

setCOption("AutosaveFormat", 0); // 0 = PDF

defaultPrinter = pdfCreator.getProperty("cDefaultPrinter");

status = STATUS_IN_PROGRESS;

pdfCreator.setProperty("cDefaultprinter", "PDFCreator");

pdfCreator.invoke("cClearCache");

pdfCreator.setProperty("cPrinterStop", false);

}

private void setCOption(String property, Object value) {

Dispatch.invoke(pdfCreator, "cOption", Dispatch.Put, new Object[]{property, value}, new int[2]);

}

private void close() {

if (pdfCreator != null) {

pdfCreator.setProperty("cDefaultprinter", defaultPrinter);

pdfCreator.invoke("cClearCache");

pdfCreator.setProperty("cPrinterStop", true);

pdfCreator.invoke("cClose");

pdfCreator.safeRelease();

pdfCreator = null;

}

if (dispatcher != null) {

dispatcher.safeRelease();

dispatcher = null;

}

}

public synchronized boolean convert(String word, String pdf) {

File pdfFile = new File(pdf);

File wordFile = new File(word);

try {

init();

setCOption("AutosaveDirectory", pdfFile.getParentFile().getAbsolutePath());

if (pdfFile.exists()) {

pdfFile.delete();

}

pdfCreator.invoke("cPrintfile", wordFile.getAbsolutePath());

int seconds = 0;

while (isInProcess()) {

seconds++;

if (seconds > 30) { // timeout

throw new Exception("convertion timeout!");

}

Thread.sleep(1000);

}

if (isWithErrors()) return false;

// 由于转换前设置cOption的AutosaveFilename不能保证输出的文件名与设置的相同(pdfcreator会加入/修改后缀名)

// 所以这里让pdfcreator使用自动生成的文件名进行输出,然后在保存后将其重命名为目标文件名

File outputFile = new File(pdfCreator.getPropertyAsString("cOutputFilename"));

if (outputFile.exists()) {

outputFile.renameTo(pdfFile);

}

} catch (InterruptedException ex) {

Logger.getLogger(Doc2Pdf.class.getName()).log(Level.SEVERE, null, ex);

return false;

} catch (Exception ex) {

Logger.getLogger(Doc2Pdf.class.getName()).log(Level.SEVERE, null, ex);

return false;

} catch (Error ex) {

Logger.getLogger(Doc2Pdf.class.getName()).log(Level.SEVERE, null, ex);

return false;

} finally {

close();

}

return true;

}

private boolean isInProcess() {

return status == STATUS_IN_PROGRESS;

}

private boolean isWithErrors() {

return status == STATUS_WITH_ERRORS;

}

// eReady event

public void eReady(Variant[] args) {

status = STATUS_READY;

}

// eError event

public void eError(Variant[] args) {

status = STATUS_WITH_ERRORS;

}

}

public static void main(String[] args) {

convert("e:\\test.doc", "e:\\output.pdf");

}

}

我想调用PPT格式的当前页码,您写的应该是Word和PDF的

后台分页代码写了,pageCount总页数,pageNum当前页,perPageNum每页数据量。 请问前台该怎么写?

前台就这样显示啊: pageNum/pageCount 首页 上一页 下一页 尾页, 如果pageNum=1,则首页和上一页不允许点击,如果pageNum=pageCount则下一页和尾页不允许点击。上面的情况应该也适用于总数只有一页的情况。 每次翻页只要把当前页pageNum和每页和每页数据量perPageNum(上一页:perPageNum-1,下一页:perPageNum+1,goto:perPageNum=inputValue)传到后台进行计算即可。 你这个分页是在代码里进行,就是每次都要查询所有的数据 ,一般都是在数据库进行分页的,如mysql用limit ageNum*perPageNum,perPageNum更多

大神 思路我知道,有没有写好的 。 不懂啊 。特别是在前台定义属性 完全不知道怎么定义的 。而且我之前写了一个超链接,试了一下 发现还能用,上一页下一页,不过完全不能和后台交互,下一页就是pageNum=2,怎么点都是2传不到后台 而且还要有中间的页码, 再一个就是这个是别人给我的接口 我只要往他那边传页数就行 用不到数据库

那要看你这个页面用的是什么构架了。。。还是单纯的jsp?

其实我只是想实现一点,就是前台把当前页数传给后台,再一个就是后台传给前台共多少页,不知道怎么写剩下的 因为后台那些值都写好了,全都查出来了 就是不知道前台该怎么知道当前页数,怎么给后台传过去的

你后台是用的servlet还是用struts?如果是用servlet,后台用request.setAttribute("pageNum",pageNum);设置参数,

JSP页面就可以用<%=request.getAttribute("pageNum") %>来显示页数

额 Struts。。。。。struts该怎么写

我的包类型是Action—Service,后面就是接口 剩下就没了 我前台页面不知道那个<a>标签该怎么写,还有就是js该怎么写 求帮忙

你贴一下action和jsp页面的内容吧,struts有自己的html标签的,百度一下就有例子

关于java打印到问题 现在我已经生成一个html 该如何打印的word

这个问题很容易解决,jquery可以方便的实现,如下 :

<script type="text/javascript" src="jquery-1.4.2.min.js"></script>

<script type="text/javascript" src="jquery.PrintArea.js"></script>

<script>

$(document).ready(function(){

$("input#biuuu_button").click(function(){

$("div#myPrintArea").printArea();

});

});

</script>

<input id="biuuu_button" type="button" value="打印"></input>

<div id="myPrintArea">.....文本打印部分.....</div>

能否提供一下打印预览

转载请注明出处51数据库 » java获取word页数 java如何获取word文档页数

软件
前端设计
程序设计
Java相关