导航:首页 > 文档加密 > c语言编程pdf

c语言编程pdf

发布时间:2025-05-04 23:56:13

A. 关于用C#生成pdf

是否可以考虑使用WordDocument.SendFax方法?

参考一下这个java的程序,你有一些收获。
java 实现word转为 tif格式??急

1.我用打印的方式没有得到任何文件(用的是虚拟传真打印机)
2.我用JACOB老是缺少组建异常
3.用jawin调用word转为pdf的方法出异常

1.我用打印的方式没有得到任何文件(用的是虚拟传真打印机)

public class Y {
/*打印指定的文件*/
public void printFileAction()
{
//构造一个文件选择器,默认为当前目录
JFileChooser fileChooser = new JFileChooser("c:\\");
int state = fileChooser.showOpenDialog(null);//弹出文件选择对话框
if (state == fileChooser.APPROVE_OPTION)//如果用户选定了文件
{
File file = fileChooser.getSelectedFile();//获取选择的文件
//构建打印请求属性集
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
//设置打印格式,因为未确定文件类型,这里选择AUTOSENSE
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
//查找所有的可用打印服务
PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);
//定位默认的打印服务
PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
//显示打印对话框
PrintService service = ServiceUI.printDialog(null, 200, 200, printService
, defaultService, flavor, pras);
if (service != null)
{
try
{
DocPrintJob job = service.createPrintJob();//创建打印作业
FileInputStream fis = new FileInputStream(file);//构造待打印的文件流
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fis, flavor, das);//建立打印文件格式
job.print(doc, pras);//进行文件的打印
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}

}

2.我用JACOB老是缺少组建异常
package com;
import com.jacob.com.*;
import com.jacob.activeX.*;

public class Dispatch_MSWord {
private ActiveXComponent wordCom=null;
private Object wordDoc=null;
private final Variant False=new Variant(false);
private final Variant True=new Variant(true);

/**
* 打开word文档
* @param filePath word文档
* @return 返回word文档对象
*/
public boolean openWord(String filePath){
//建立ActiveX部件
wordCom=new ActiveXComponent("Word.Application");

try{
//返回wrdCom.Documents的Dispatch
Object wrdDocs=wordCom.getProperty("Documents").toDispatch();
//调用wrdCom.Documents.Open方法打开指定的word文档,返回wordDoc
wordDoc=Dispatch.invoke((Dispatch) wrdDocs,"Open",Dispatch.Method,new Object[]{filePath},new int[1]).toDispatch();
return true;
}
catch(Exception ex){
ex.printStackTrace();
}
return false;
}

/**
* 关闭word文档
*/
public void closeWord(){
//关闭word文件
wordCom.invoke("Quit",new Variant[]{});
}

/**
* 打开word,调用word中的宏
* @param filePath word文件路径
* @param macroName 被调用的宏名字
* @param parameter 调用宏的参数数组
*/
public void callWordMacro(String filePath,String macroName,Object parameter[]){

if (!openWord(filePath)){
closeWord();
return;
}
else{
//使用方法传入的参数parameter调用word文档中的MyWordMacro宏
Dispatch.invoke((Dispatch)wordDoc,macroName,Dispatch.Method,parameter,new int[1]);
closeWord();
}
}

/**
* 打开word,替换其中的文字
* @param filePath word文件路径
* @param sourceStr 源文字
* @param replaceStr 替换后的文字
*/
public void callReplaceWord(String filePath,String sourceStr,String replaceStr){

if (!openWord(filePath)){
closeWord();
return;
}

try{
//获得Selection对象
Dispatch selectDoc=wordCom.getProperty("Selection").toDispatch();
//获得Find对象
Dispatch find = Dispatch.call(selectDoc,"Find").toDispatch();

//设置替换的方法属性,但是不支持ReplaceWith的属性,而且使用Replancement.Text属性也无济于事。
Dispatch.put(find,"Text",sourceStr);

//所以使用Find对象的Execute(FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward, Wrap, Format, ReplaceWith, Replace, MatchKashida, MatchDiacritics, MatchAlefHamza, MatchControl)方法
//详细内容见MSDN的office2000开发文档
Variant True=new Variant(true);
Variant False=new Variant(false);
Variant FindText=new Variant(sourceStr);
Variant ReplaceWith=new Variant(replaceStr);
Variant Format=False;
Variant Forward=True;
Variant MatchCase=True;
Variant MatchWholeWord=True;
Variant MatchWildcards=False;
Variant MatchSoundsLike=False;
Variant MatchAllWordForms=False;
int wdFindWrap_FindContinue=1;
Variant Wrap=new Variant(wdFindWrap_FindContinue);
int wdReplace_ReplaceAll=2;
Variant Replace=new Variant(wdReplace_ReplaceAll);

//使用callN方法调用execute方法
Dispatch.callN(find,"Execute",new Variant[]{
FindText, MatchCase, MatchWholeWord, MatchWildcards,
MatchSoundsLike, MatchAllWordForms, Forward, Wrap,
Format, ReplaceWith, Replace
});
Dispatch.invoke((Dispatch) wordDoc,"SaveAs",Dispatch.Method,new Object[]{"c:\\111.doc"},new int[1]);
closeWord();
}
catch(Exception ex){
ex.printStackTrace();
}
finally{
closeWord();
}
}

/**
* 将word文档打印为PS文件后,使用Distiller将PS文件转换为PDF文件
* @param sourceFilePath 源文件路径
* @param destinPSFilePath 首先生成的PS文件路径
* @param destinPDFFilePath 生成PDF文件路径
*/
public void docToPDF(String sourceFilePath,String destinPSFilePath,String destinPDFFilePath){
if (!openWord(sourceFilePath)){
closeWord();
return;
}
//建立Adobe Distiller的com对象
ActiveXComponent distiller=new ActiveXComponent("PDFDistiller.PDFDistiller.1");
try{
//设置当前使用的打印机,我的Adobe Distiller打印机名字为"Adobe PDF"
wordCom.setProperty("ActivePrinter",new Variant("Adobe PDF"));

//设置printout的参数,将word文档打印为postscript文档。目前只使用了前5个参数,如果要使用更多的话可以参考MSDN的office开发相关api
//是否在后台运行
Variant Background=False;
//是否追加打印
Variant Append =False;
//打印所有文档
int wdPrintAllDocument=0;
Variant Range =new Variant(wdPrintAllDocument);
//输出的postscript文件的路径
Variant OutputFileName =new Variant(destinPSFilePath);

//调用word文档对象的PrintOut方法:将word文档打印为postscript文档,简称ps文档
Dispatch.callN((Dispatch)wordDoc, "PrintOut", new Variant[]{Background,Append,Range,OutputFileName}) ;

System.out.println("由word文档打印为ps文档成功!");

//调用Distiller对象的FileToPDF方法所用的参数,详细内容参考Distiller Api手册
//作为输入的ps文档路径
Variant inputPostScriptFilePath=new Variant(destinPSFilePath);
//作为输出的pdf文档的路径
Variant outputPDFFilePath=new Variant(destinPDFFilePath);
//定义FileToPDF方法要使用adobe pdf设置文件的路径,在这里没有赋值表示并不使用pdf配置文件
Variant PDFOption=new Variant("");
//调用FileToPDF方法将ps文档转换为pdf文档
Dispatch.callN(distiller,"FileToPDF",new Variant[]{inputPostScriptFilePath,outputPDFFilePath,PDFOption});
System.out.println("由ps文档转换为pdf文档成功!");

}
catch(Exception ex){
ex.printStackTrace();
}
finally{
closeWord();
}
}

public static void main(String[] argv){
Dispatch_MSWord d=new Dispatch_MSWord();
//d.callWordMacro("E:/eclipse3.1RC3/workspace/jacobPractice/src/com/bjinfotech/practice/jacob/MacroTest.doc","MyWordMacro",new String[]{"这是调用word宏的测试程序"});
//d.callReplaceWord("E:/eclipse3.1RC3/workspace/jacobPractice/src/com/bjinfotech/practice/jacob/MacroTest.doc","$TITLE$","文字已经被替换");
d.docToPDF("c:\\1.doc","c:\\1p.ps","c:\\1p.pdf");
}

}

供你参考啊

B. 跪求《C Primer Plus》(第6版)(中文版) 的高清PDF,是C不是C++,要第六版的不要第五,好人一生多福,谢谢

http://download.csdn.net/detail/d2002a/9787210
http://download.csdn.net/detail/d2002a/9787218
http://download.csdn.net/detail/d2002a/9787228
http://download.csdn.net/detail/d2002a/9787232

C. 如何自己编程序做软件

万事开头难,首先,要有扎实的基础知识,推荐先学 c语言,搞清楚基本概念,比如 变量,函数,类,数据类型等等,再下点功夫研究下数据结构,前者是所有编程语言的构成基石,后者是算法,就是如何用编程语言去解决实际问题。不要相信什么速成教程,不要被当下众多流行的编程语言搞得不知如何下手,安下心花功夫把基础打牢。
第二,推荐学习下java语言,建议看看 《java编程思想》这本书,这是本着名的java编程教学书籍,网上有 pdf下载。
第三,熟悉一下关系型数据库,当前三大主流关系型数据库 包括 mysql, oracle,sqlserver,你可以挑一个专门学习下,主要学习关系型数据中的 基本概念,比如 表,视图,存储过程,函数,以及 关系型数据库 语言,在网上搜相关书籍学习下就可以了,mysql 安装较为简单,而且使用广泛,免费,跨平台,推荐安装,以它为蓝本学习。
第四,学习下 html ,js,css ,这些是做网页的基础,这些你可以 上 菜鸟教程 等网站学习,当然,这些网站教的比较浅,要想深入研究,最好还是找相关书籍好好学一下。
有了这些知识,你可以尝试做个小系统,比如论坛,图书管理系统什么的。 前端页面 用 html 设计,css美化,js 做数据加载,java 做后台,接收发送数据从(到)前端页面, 操作数据库 ,mysql作为数据库用来存放数据。
然后,你可以研究一些专业性的框架做一些真正的可用的软件开发了,前端比如,angularjs,vue ,react,后端 如 java spring ,hibernate , 这时候,你要做的就是上官网,看帮助文档了。
计算机发展的速度是非常快的,新技术层出不穷,但不管怎样,基础的东西是不会变的,所以,花时间把基础打牢,然后多做项目实践,这样才能成功。

D. 寻找计算机编程入门的书或电子书

首先可以先选择自己想学习的语言。如果想速成的简单的JAVA比较适合你。但是想系统的学习编程的话我推荐你选择C和C++。
C的话,清华大学出版社的谭浩强出的那本《C语言程序设计》有很多人选用,因为比较基础,很多大学也是用来当做教科书来用的。
C++的话,基础的有那本《C++ primer》 那本很有名的,深入点有机械工业出版社的《C++语言设计语言》是C++设计者自己写的书。
JAVA的话我看的也很杂,没什么特别好的推荐给你,不好意思。
其实只要掌握好1门语言,其他的自然而然的就触类旁通了。
但是如果你真心的想选择编程的话,语言什么的都是其次,算法设计及数据结构才是编程的精华,建议你多看看算法类的书,《算法导论》是我推荐的书。

阅读全文

与c语言编程pdf相关的资料

热点内容
cad如何快速统计数量命令 浏览:910
文华量化交易策略源码 浏览:930
三好程序员经典语录 浏览:809
陕西服务器托管大带宽云空间 浏览:276
怎么整理手机app里的网址 浏览:563
程序员必读书柜 浏览:538
如何举报非法网站和游戏服务器 浏览:306
安卓怎么看在哪个地方呆了多久 浏览:573
120万程序员征婚 浏览:247
对称可搜索加密算法 浏览:649
uc如何免费解压 浏览:652
一本电子书怎么编译目录 浏览:256
手机压缩软件官方下载 浏览:218
如何关闭文件夹左边的导航 浏览:219
链路状态路由算法的实现 浏览:936
遗传算法锦标赛选择 浏览:477
我的世界is命令 浏览:158
python和php哪个强大 浏览:225
批处理启动文件夹写文件 浏览:87
app怎么看是第几层 浏览:68