Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更改PDF中的查看器首选项_Pdf_Pdf Generation - Fatal编程技术网

如何更改PDF中的查看器首选项

如何更改PDF中的查看器首选项,pdf,pdf-generation,Pdf,Pdf Generation,声明应该可以在PDF中设置“查看器首选项”,这允许您预设用户查看文档的方式 是否有任何免费的命令行工具或完全开源的库(因此不是像iText这样的受限/许可库)可以用来实现这一点?我只找到了BecypdMetaedit,这是一个Windows工具。我想你没有得到这个问题的答案,因为这不是一个真实的问题。关于SO的问题应该是关于您在尝试某件事情时遇到的技术问题。问“你能给我一个样品吗?”并不总是被接受的。你可能会遇到一个反问:“你试过什么?” 尽管如此,作为对你评论的回应:“这肯定是以前做过的吗?”

声明应该可以在PDF中设置“查看器首选项”,这允许您预设用户查看文档的方式


是否有任何免费的命令行工具或完全开源的库(因此不是像iText这样的受限/许可库)可以用来实现这一点?我只找到了BecypdMetaedit,这是一个Windows工具。

我想你没有得到这个问题的答案,因为这不是一个真实的问题。关于SO的问题应该是关于您在尝试某件事情时遇到的技术问题。问“你能给我一个样品吗?”并不总是被接受的。你可能会遇到一个反问:“你试过什么?”

尽管如此,作为对你评论的回应:“这肯定是以前做过的吗?”:当然,是的!我没有马上回答,因为我没有时间,也因为你的问题的答案很简单。我想你自己会找到答案的

PdfReader reader = new PdfReader("test.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("test_changed.pdf"));
stamper.setViewerPreferences(PdfWriter.CenterWindow | PdfWriter.FitWindow);
stamper.addViewerPreference(PdfName.PRINTSCALING, PdfName.NONE);
stamper.addViewerPreference(PdfName.NUMCOPIES, new PdfNumber(3));
stamper.close();
reader.close();
使用
PdfReader
获取现有PDF,然后使用
PdfStamper
将其复制到已更改的PDF。在这两者之间,您可以使用方法或方法。如果您遵循为这些方法提供的链接,您将获得可能的查看器首选项的概述

这是一个iText(Java)示例;将其更改为iTextSharp(C#)示例就是将一些小写字母在这里或那里更改为大写字母


免责声明:我是iText软件的首席执行官。我也是iText的原始开发人员,也是“iText在行动”书籍的作者。

我认为你没有得到这个问题的答案,因为这不是一个真实的问题。关于SO的问题应该是关于您在尝试某件事情时遇到的技术问题。问“你能给我一个样品吗?”并不总是被接受的。你可能会遇到一个反问:“你试过什么?”

尽管如此,作为对你评论的回应:“这肯定是以前做过的吗?”:当然,是的!我没有马上回答,因为我没有时间,也因为你的问题的答案很简单。我想你自己会找到答案的

PdfReader reader = new PdfReader("test.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("test_changed.pdf"));
stamper.setViewerPreferences(PdfWriter.CenterWindow | PdfWriter.FitWindow);
stamper.addViewerPreference(PdfName.PRINTSCALING, PdfName.NONE);
stamper.addViewerPreference(PdfName.NUMCOPIES, new PdfNumber(3));
stamper.close();
reader.close();
使用
PdfReader
获取现有PDF,然后使用
PdfStamper
将其复制到已更改的PDF。在这两者之间,您可以使用方法或方法。如果您遵循为这些方法提供的链接,您将获得可能的查看器首选项的概述

这是一个iText(Java)示例;将其更改为iTextSharp(C#)示例就是将一些小写字母在这里或那里更改为大写字母


免责声明:我是iText软件的首席执行官。我也是iText的原始开发人员,也是“iText实际应用”书籍的作者。

以下是如何使用Perl软件包(免费)实现这一点:

使用PDF::API2;
$pdf=pdf::API2->打开(“old.pdf”);
$pdf->首选项(
-centerwindow=>1,
-fitwindow=>1,
-hidetoolbar=>1,
-hidemenubar=>1,
);
$pdf->saveas('new.pdf');

以下是如何使用Perl软件包(免费)实现这一点:

使用PDF::API2;
$pdf=pdf::API2->打开(“old.pdf”);
$pdf->首选项(
-centerwindow=>1,
-fitwindow=>1,
-hidetoolbar=>1,
-hidemenubar=>1,
);
$pdf->saveas('new.pdf');


您可以使用iText或iTextSharp编写一个小型Java或小型C#程序来更改查看器首选项。谢谢,但这肯定是以前做过的吗?您可以使用iText或iTextSharp编写一个小型Java或小型C#程序来更改查看器首选项。谢谢,但肯定是以前做过的吗?抱歉,我的问题不够清楚。我在网上搜索得很彻底,但只找到了付费产品或Windows产品。没有命令行工具,也没有完全开源的库。虽然你的答案很有帮助,但它受不同于我正在寻找的许可证的约束。赏金出现的原因,是因为这个问题没有引起太多的注意,而不是因为(IMHO)我没有疯狂地搜索网络……在这种情况下,你可以通过补充说你在寻找免费午餐来澄清你的问题。这样可以避免像我这样的人浪费宝贵的时间;-)即使你的产品很棒,公平地说,stackoverflow不仅仅是为了推广你的产品……太棒了。非常感谢。对不起,我的问题不够清楚。我在网上搜索得很彻底,但只找到了付费产品或Windows产品。没有命令行工具,也没有完全开源的库。虽然你的答案很有帮助,但它受不同于我正在寻找的许可证的约束。赏金出现的原因,是因为这个问题没有引起太多的注意,而不是因为(IMHO)我没有疯狂地搜索网络……在这种情况下,你可以通过补充说你在寻找免费午餐来澄清你的问题。这样可以避免像我这样的人浪费宝贵的时间;-)即使你的产品很棒,公平地说,stackoverflow不仅仅是为了推广你的产品……太棒了。非常感谢。太棒了-非常感谢!分数是你的,但我需要找到一种方法来移动它们,因为我不小心给了他们错误的答案。页面滚动是一个b#$&1错误答案是什么?在我看来,这项赏金根本没有颁发。它颁发了,但答案被删除了——我想这是因为我标记了问题,并报告说我想把赏金转移给你。你可以看到我的代表在我的历史记录中失去了分数…@user1914292我删除了我的答案,因为我不想从你那里得到[错误授予的]赏金。谢谢-但我仍然失去了赏金:)我想我们在这里发现了一个小问题太棒了-非常感谢!分数是你的,但我需要找到一种方法来移动它们,因为我不小心给了他们错误的答案。页面滚动是一个b#$&1错误答案是什么?对我来说