示例一:使用PHP生成一个简单的PDF文档
以下为引用的内容:
require_once('../config/lang/eng.php');
require_once('../tcpdf.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 002');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
// remove default header/footer
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
//set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
//set some language-dependent strings
$pdf->setLanguageArray($l);
// ---------------------------------------------------------
// set font
$pdf->SetFont('times', 'BI', 20);
2. PDF要怎么制作啊
PDF格式文件的制作
----现在可以利用许多种工具来制作PDF格式文件,例如MicrosoftPublisher和AdobePageMaker等,但是用AdobeAcrobat最有效、可靠和便捷。Windows95/98下安装AdobeAcrobat3.0后,可按以下典型过程创建PDF文件:
----1.将应用程序以PostScript形式存放在磁盘中;
----2.执行"开始"*"程序"*"AdobeAcrobat"*"AdobeAcrobatDistiller3.0";
----3.找到并打开所创建的运李PostScript文件;
----4.确定好位置并将该文件(原扩展名为ps)保存为PDF格式;
----5.用Acrobat的PDF阅读器(如AcrobatReader或AcrobatExchange)打开创建的PDF文件。
----为减少以上步骤以提高效率,在Acrobat3.0中还包括有一个工具AcrobatDistillerAssistant。在一个应用程序内部,它主要起到两方面的作用:
----1.打印机控制面板里的打印驱动程序;
----2.AcrobatDistiller和Acrobat阅读器之间的界面。
----这样用户就可以将一个文档打印到该工具中,它会替您自动完成包括创建PostScript文件、启动AcrobatDistiller,并且将应用文档转化为PDF格式,以及打开Acrobat的PDF阅读器等其他任务。为保证随时使用DistillerAssistant,它可设在"启动"菜单下。
----Adobe公司还提供了一个工具,它可使您在MSWord中直接将文档按用户的要求自动转化为PDF文件。
----把PDFMaker安装后,当运行MSWord97时,便会在"File"菜单里出现一个者悄悄新的项"CreateAdobePDF"(内含两个子项),这就在Word中可将编辑完成的文档转化为PDF格式。同时还可以通过选取"File"*"CreateAdobePDF"*"Preference",来对PDF文件转化过程中的某些参数进行必要的设定,以达到所要求的效果。而要真正实现这些功能,还需要有PDFWriter3.0(或更高)打印驱动程序与AcrobatDistiller3.0(或更高)的配合才能首渣完成。这两项内容包含在AdobeAcrobat3.0中,通过将其安装才能获得。另外,PDFWriter的特点是可将一般文档快速地直接转换为PDF格式,但PDFMaker中的其他一些功能如书签、超链接和注释等高级特征,却因此不能被完全地保留下来;而Distiller则是通过先将Word文档打印为一个PostScript文件,然后再"提取"这种扩展名为ps的文件内容制成PDF文件,它可仍然保存那些在文档编辑和Internet中广泛使用的高级功能。另外,由于在MSWord97中使用的宏语言不同于老版本Word中的宏,所以PDFMaker不能用于Word6.0中。
----还应当注意的是,为建立PostScript文件,DistillerAssistant必须使用一个真正的PostScript打印驱动程序,例如MicrosoftPostScript打印驱动或AdobePostScript打印驱动(AdobePS)等。因为DistillerAssistant在创建PDF过程中不仅要使用有关PDF内容的选择,同时也要使用打印驱动程序的一些选择内容。
----因此,AdobeAcrobat3.0是基本的,只要能够打印成PostScript文件(即安装有PostScript打印驱动),就可以在应用程序中通过将打印选择命令设置为DistillerAssistant(或者AcrobatDistiller3.0),制作出相应的PDF格式文件来,而不一定像在MSWord97中那样,通过安装PDFMaker在"File"菜单里生成专门的"CreatAdobePDF"项。例如,在MSExcel和MSPowerPoint等应用软件中,也完全可以制作出相应样式的PDF文件来。老大,不用制作吧,保存的时候保存格式选成PDF就可以了。
3. javascript 打印网页成pdf文件
通过javascript实现PDF自动打印(2009-05-08 15:06:05)
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string pdffile = createpdf(false);
iframe1.Attributes.Add("src", pdffile);
}
}
private string createpdf(bool print)
{
try
{
string filename = "Chap0106.pdf";
iTextSharp.text.Document doc = new iTextSharp.text.Document();
PdfWriter writer = iTextSharp.text.pdf.PdfWriter.getInstance(doc, new FileStream(Server.MapPath(filename), FileMode.OpenOrCreate));
doc.Open();
doc.Add(new Paragraph(6, "abcd"));
writer.setViewerPreferences(PdfWriter.HideMenubar | PdfWriter.HideToolbar);
if (print)
{
PdfAction.javaScript("myOnMessage();", writer);
writer.addJavaScript("this.print(true);function myOnMessage(aMessage) {app.alert('Test',2);} var msgHandlerObject = new Object();doc.onWillPrint = myOnMessage;this.hostContainer.messageHandler = msgHandlerObject;");
}
doc.Close();
return filename;
}
catch
{
return "";
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string pdffile = createpdf(true);
iframe1.Attributes.Add("src", pdffile);
}
如题:
<body>
<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" name="PDF1" width="760" height="633" border="0">
<param name="SRC" value="01.pdf"/>
</object>
<script language="JavaScript" type="text/javascript">
PDF1.SetShowToolbar(false);
</script>
</body>
在 pdf 文件里加上这样的属性就可以了
如何也通过类似“PDF1.SetShowToolbar(false); ”控制实现禁止对pdf内容的复制、以及打印!!!谢谢
javascript实现PDF自动打印
网页显示pdf文件,禁止保存和打印
1. 用网页打开 PDF文件。
2. 只可以浏览但是不许打印保存。
结果参照顶楼在jsf里实现如下代码:
//Get response
FacesContext faces = javax.faces.context.FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) faces.getExternalContext().getResponse();
//打开源pdf文件
PdfReader reader = new PdfReader("./HelloWorld.pdf");
Document document = new Document(reader.getPageSizeWithRotation(1));
int n = reader.getNumberOfPages();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//将原pdf文件中的内容放入字节流baos中
PdfCopy = new PdfCopy(document, baos);
//隐藏工具栏并给pdf加密
.setViewerPreferences(PdfWriter.HideMenubar | PdfWriter.HideToolbar);
.setEncryption(false, null, "pdf", PdfWriter.AllowAssembly);
//往pdf中写入内容
document.open();
for(int i = 1; i <= n; i++) {
PdfImportedPage page = .getImportedPage(reader, i);
.addPage(page);
}
document.close();
//设置响应类型并将pdf流写入响应
response.setContentType("application/pdf");
response.setContentLength(baos.size());
response.setHeader("Expires", "0");
response.setHeader("Cache-Control",
"must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma", "public");
ServletOutputStream out = response.getOutputStream();
//将字节流baos中的内容写入响应流
baos.writeTo(out);
out.flush();
faces.responseComplete();
复制代码
以上代码的缺点:
1:加密只能实现打印和修改加密。
2:虽然隐藏了工具栏,但是可以通过快捷键F8来将工具栏显示出来
3:IE菜单栏中自带的保存功能也能将此pdf保存到本地
4:在客户端没有安装pdf阅读器的情况下,浏览器会直接提示用户是否下载,这也是和需求不符的。
最后经过不懈努力,找到了一个用<object></object>曲线救国的路线,哈哈,先来看看如下代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
</head>
<body>
<tr><td>
<p style="margin-top:-45px;margin-bottom:0px;">
<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" id="Pdf1" width="100%" height="100%">
<param name="_Version" value="327680">
<param name="_ExtentX" value="2646">
<param name="_ExtentY" value="1323">
<param name="_StockProps" value="0">
<param name="SRC" value="C:\temp.pdf">
</object>
</p>
</td></tr>
</body>
</html>
复制代码
其中sytle的是用一种比较bt的办法影藏了pdf顶部的工具栏(可以用第一种方法,这个方法作为备用)。
这样即使用ie菜单栏中的保存功能也只是保存网页布局而不会把pdf保存下来。
另外这样即使本地没装pdf阅读器也不会让你下载该pdf了,而只是在相应位置出现叉叉而已。基本能够满足客户的需求了
4. 怎么快速制作PDF文档
简单制作PDF文档大曝光
PDF(Portable Document Format,便携文档格式)格式是Adobe公司在其PostScript语言的基础上创建的一种主要应用于电子出版的文件规范系统。
PDF文件可以将文字、字型、格式、颜色及与设备和分辨率独立的图形图像等封装在一个文件中,该格式文件还可以包含超文本链接、声音和动态影像等电子信息,支持特长文件,集成度和安全可靠性都较高。由于PDF文件可以不依赖操作系统的语言和字体以及显示设备,就能“逼真地”将文件原貌展现给每一个阅读者,因此越来越多的电子图书、产品说明、公司文告、网络资料、电子邮件等开始使用PDF格式文件。目前已成为电子文档发行和数字化信息传播事实上的一个标准。PDF文件格式与操作系统无关。具体说来就是,PDF文件不管是在Windows、Unix还是在Mac OS操作系统中都是通用的。因此,它是在Internet上发布演示文档的理想文件格式。
制作PDF文件要使用Adobe公司的Adobe Acrobat,注意,不是我们通常使用的Adobe Acrobat Reader,Adobe Acrobat是一个商业软件,本文的操作都是基于Adobe Acrobat 9.0的。
软件安装要点
首先是安装软件,不要觉得安装很简单,如果安装得不当是不能输出含有中文PDF文件的。安装时需注意的地方在于看到如图1的对话框时,选择“Custom(用户定制)”方式,点Next继续,出现组件对话框,把滚动条拉到最末端,点中“Asian Language Support(支持亚洲语言)”,然后点“Change”按钮,在弹出的对话框里选择“Simplified Chinese Language Files(简体中文语言包)”和“Distiller Asian Language PDF Generation(Distiller亚洲语言PDF生成器)”,点“Continue”继续。再点“Next”,只要输入个人信息和序列号,再一路Next就可以了,在拷贝完成后忽略电子注册,然后按照提示重新启动计算机就完成安装了。当然如果软件版本是简体中文版的话,就不用如此麻烦了。
PDF制作原理
在安装完Acrobat后,去查看打印机,会发现多了两个打印机设置Acrobat Distiller和Acrobat PDFWriter,这是Acrobat自动设置的虚拟打印机,这对制作PDF文件来说是必须的。因为PDF文件的格式规范是创建在PostScript语言基础上的,而PostScript语言是一种精确的页面描述语言,应用在电子出版上来生成复杂的版面,PostScript与打印机的硬件无关,只要求打印机支持这种页面描述就可以了。在这里Acrobat Distiller和Acrobat PDFWriter就是两个虚拟的PostScript打印机,而Acrobat就是把用其他软件软件制作完成的文档进行虚拟打印,得到中间文件*.PS(PostScript)文件,然后再调用Acrobat Distiller来产生PDF文件。安装Acrobat后支持PDF输出的软件有Microsoft Word、Adobe PageMaker。
用Word自动生成PDF文件
在这里我们不讲如何使用Adobe Acrobat9.0来制作PDF文件,因为Acrobat比较复杂,学习它恐怕需要一本书来解决,而不是仅仅的一篇文章。不过相信大家都会使用Word,其实用Word先编辑文档、插入图片,然后用它来生成PDF文件效果是差不多的。打开Word右键点击工具栏,选择“自定义”,然后在“工具栏”标签中选中一个“PDFMaker 9.0”,就会发现多了两个图标,“转换到Adobe PDF”和“转换到Adobe PDF和Email”。在这里PDFMaker是一个宏按钮,是特别为Microsoft Word设计的,用来在Word中方便地生成PDF文件。
现在我们就可以来制作第一个PDF文件了。首先,用Word打开一个文件,然后点击工具栏中的图标,会出现图2这样的对话框,使用系统的默认值就单击“Create”按钮,这样PDFMaker就开始自动生成PDF文件了。它会自动扫描Word文档中的有关信息,比如链接、目录之类,把它们和PDF格式的链接、目录等相对应,在生成的PDF文件中的所有可视信息都和原来的文件相同。还要说明一点,PDFMaker生成的PDF文件存放的路径与原来的DOC文件相同。
到这里,你已经做好了第一个PDF文件!这是最简单的一种方法,但不是最好的。为什么呢?因为这样做出来的PDF文件尺寸非常大,比如原来的DOC文件只有25KB,用上面这种方法做出来的文件有153KB之巨!根本不符合网上传输的要求!
制作小体积PDF文件
Acrobat为了适应亚洲语言的特点,对亚洲语言设计了特殊的生成器和语言包,但是它是通过“嵌入字体(Embed Fonts)”的方法来解决的。这样做对于直接打印是很优化的,但是如果是用来生成PDF文件,带来的负面效应就是大大增加了文件的尺寸。我们绕过PDFMaker来制作PDF文件。前面我说过了,Acrobat安装了两个虚拟打印机,其中的Acrobat Distiller就可以生成PDF文档,不过第一次使用之前要做一些设置,因为PDFWriter默认的也是嵌入字体,我们要把这个选项去掉。具体的方法是,在Word里选择文件/打印…,弹出一个对话框,在其中的打印机名称中选择Acrobat PDFWriter,然后单击右边的“属性”按钮,在出现的对话框中选择“Adobe PDF设置”标签中的“编辑转换设置”,把其中“字体”下的“嵌入所有字体”和“子集化嵌入字体”前的选择去掉,再点击“确定”,这样就不会自动嵌入字体了。
这样就可以开始制作PDF了。打开DOC文档,然后选择文件/打印…,选择打印机名称为Acrobat Distiller,确定,稍候会出现如图3的对话框,你可以在这里选择保存PDF文件的路径以及设置PDF的文件信息,再确定,这样PDF就做好了。查看一下这个文件的大小,只有15KB,是源文件(25KB)大小的60%,这就非常适合网上的传播。我们再查看一下字体信息,会发现汉字字体不再是嵌入的了。这种制作PDF文件的方法不仅适用于Word,对于一切具有打印功能的软件都适用。
为PDF文件加密
在PDF文档中可以通过设置密码来禁止使用者打印文件、改变文件内容、选取复制文件中的文本与图形以及增加注释,也可以通过设置密码来限制观看者。有了这些强大的保护功能,就能切实有效地限定读者的行为,更有力地保护知识产权。设置这些保护非常简单,用Acrobat打开PDF文件,选择File/Save As…,在Security中选择Standard,会自动跳出一个对话框,在这里,你可以设置打开文件的密码、改变安全设置的密码以及不允许使用者做的事情(打印文件、改变文件内容、选取复制文件中的文本与图形以及增加注释),选择完成后按确定,系统会自动和你校对密码,无误后回到保存对话框,你可以换个名字保存PDF文件或者覆盖源文件,再次打开这个文件的时候就要受所设定的安全权限的限制了。
这应该是制作PDF最简单的办法,如果有兴趣的话可以用Adobe Acrobat 9.0直接制作,该软件提供的帮助信息极其丰富,完全可以自学。
制作PDF文件可以用以下工具:
1、Adobe Acrobat pro。
在网上可以下载了7.0版本,破解版的。这是制作PDF文件最标准的东西。安装后,在Micorsoft Office系列、AutoCAD等软件里增加Adobe工具菜单。
可以用电骡等软件搜索一下。
2、Kingsoft WPSoffice 2007专业版。最新版的WPS支持PDF格式。但我没用过。
3、其它制作PDF文件的软件。在网上可以找到。文件通常很小,但我觉得大部分都不太稳定,不推荐。
5. java怎么输出pdf格式的文件
java导出pdf需要用到iText库,iText是着名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf
的文档,而且可以将XML、Html文件转化为PDF文件。
iText的安装非常方便,下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用
iText类库了。
代码如下:
public class createPdf {
//自己做的一个简单例子,中间有图片之类的
//先建立Document对象:相对应的 这个版本的jar引入的是com.lowagie.text.Document
Document document = new Document(PageSize.A4, 36.0F, 36.0F, 36.0F, 36.0F);
public void getPDFdemo() throws DocumentException, IOException{
//这个导出用的是 iTextAsian.jar 和iText-2.1.3.jar 属于比较老的方法。 具体下在地址见:
//首先
//字体的定义:这里用的是自带的jar里面的字体
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);
// 当然你也可以用你电脑里面带的字体库
//BaseFont bfChinese = BaseFont.createFont("C:/WINDOWS/Fonts/SIMSUN.TTC,1",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
//定义字体 注意在最新的包里面 颜色是封装的
Font fontChinese8 = new Font(bfChinese, 10.0F, 0, new Color(59, 54, 54));
//生成pdf的第一个步骤:
//保存本地指定路径
saveLocal();
document.open();
ByteArrayOutputStream ba = new ByteArrayOutputStream();
// PdfWriter writer = PdfWriter.getInstance(document, ba);
document.open();
//获取此编译的文件路径
String path = this.getClass().getClassLoader().getResource("").getPath();
//获取根路径
String filePath = path.substring(1, path.length()-15);
//获取图片路径 找到你需要往pdf上生成的图片
//这里根据自己的获取的路径写 只要找到图片位置就可以
String picPath = filePath +"\\WebContent" +"\\images\\";
//往PDF中添加段落
Paragraph pHeader = new Paragraph();
pHeader.add(new Paragraph(" 你要生成文字写这里", new Font(bfChinese, 8.0F, 1)));
//pHeader.add(new Paragraph("文字", 字体 可以自己写 也可以用fontChinese8 之前定义好的 );
document.add(pHeader);//在文档中加入你写的内容
//获取图片
Image img2 = Image.getInstance(picPath +"ccf-stamp-new.png");
//定义图片在文档中显示的绝对位置
img2.scaleAbsolute(137.0F, 140.0F);
img2.setAbsolutePosition(330.0F, 37.0F);
//将图片添加到文档中
document.add(img2);
//关闭文档
document.close();
/*//设置文档保存的文件名
response.setHeader("Content-
disposition", "attachment;filename=\""+ new String(("CCF会员资格确认
函.pdf").getBytes("GBK"),"ISO-8859-1") + "\"");
//设置类型
response.setContentType("application/pdf");
response.setContentLength(ba.size());
ServletOutputStream out = response.getOutputStream();
ba.writeTo(out);
out.flush();*/
}
public static void main(String[]args) throws DocumentException, IOException{
createPdf pdf= new createPdf();
pdf.getPDFdemo();
}
//指定一个文件进行保存 这里吧文件保存到D盘的text.pdf
public void saveLocal() throws IOException, DocumentException{
//直接生成PDF 制定生成到D盘test.pdf
File file = new File("D:\\text2.pdf");
file.createNewFile();
PdfWriter.getInstance(document, new FileOutputStream(file));
}
}
6. 手机怎么制作pdf文件可以用手机制作PDF文件吗
下载如下两款软件,就可以对pdf进行新建和编辑。
1.adobe
createpdf
是一款应用在安卓设备上的pdf文档制作工具,它能够帮助您解决在没有电脑的情况下创建需要的pdf文档,操作简单,体积小巧。
2.金山wps
office,目前唯一一个全格式文档编辑软件,支持包括pdf在内的23种文档编辑
7. java导出PDF文档
java导出pdf需要用到iText库,iText是着名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf
的文档,而且可以将XML、Html文件转化为PDF文件。
iText的安装非常方便,下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用
iText类库了。
代码如下:
public class createPdf {
//自己做的一个简单例子,中间有图片之类的
//先建立Document对象:相对应的 这个版本的jar引入的是com.lowagie.text.Document
Document document = new Document(PageSize.A4, 36.0F, 36.0F, 36.0F, 36.0F);
public void getPDFdemo() throws DocumentException, IOException{
//这个导出用的是 iTextAsian.jar 和iText-2.1.3.jar 属于比较老的方法。 具体下在地址见:
//首先
//字体的定义:这里用的是自带的jar里面的字体
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);
// 当然你也可以用你电脑里面带的字体库
//BaseFont bfChinese = BaseFont.createFont("C:/WINDOWS/Fonts/SIMSUN.TTC,1",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
//定义字体 注意在最新的包里面 颜色是封装的
Font fontChinese8 = new Font(bfChinese, 10.0F, 0, new Color(59, 54, 54));
//生成pdf的第一个步骤:
//保存本地指定路径
saveLocal();
document.open();
ByteArrayOutputStream ba = new ByteArrayOutputStream();
// PdfWriter writer = PdfWriter.getInstance(document, ba);
document.open();
//获取此编译的文件路径
String path = this.getClass().getClassLoader().getResource("").getPath();
//获取根路径
String filePath = path.substring(1, path.length()-15);
//获取图片路径 找到你需要往pdf上生成的图片
//这里根据自己的获取的路径写 只要找到图片位置就可以
String picPath = filePath +"\\WebContent" +"\\images\\";
//往PDF中添加段落
Paragraph pHeader = new Paragraph();
pHeader.add(new Paragraph(" 你要生成文字写这里", new Font(bfChinese, 8.0F, 1)));
//pHeader.add(new Paragraph("文字", 字体 可以自己写 也可以用fontChinese8 之前定义好的 );
document.add(pHeader);//在文档中加入你写的内容
//获取图片
Image img2 = Image.getInstance(picPath +"ccf-stamp-new.png");
//定义图片在文档中显示的绝对位置
img2.scaleAbsolute(137.0F, 140.0F);
img2.setAbsolutePosition(330.0F, 37.0F);
//将图片添加到文档中
document.add(img2);
//关闭文档
document.close();
/*//设置文档保存的文件名
response.setHeader("Content-
disposition", "attachment;filename=\""+ new String(("CCF会员资格确认
函.pdf").getBytes("GBK"),"ISO-8859-1") + "\"");
//设置类型
response.setContentType("application/pdf");
response.setContentLength(ba.size());
ServletOutputStream out = response.getOutputStream();
ba.writeTo(out);
out.flush();*/
}
public static void main(String[]args) throws DocumentException, IOException{
createPdf pdf= new createPdf();
pdf.getPDFdemo();
}
//指定一个文件进行保存 这里吧文件保存到D盘的text.pdf
public void saveLocal() throws IOException, DocumentException{
//直接生成PDF 制定生成到D盘test.pdf
File file = new File("D:\\text2.pdf");
file.createNewFile();
PdfWriter.getInstance(document, new FileOutputStream(file));
}
}