好吧, 我会的
怎么样？
希望你能想明白｡
如果没有, 也不用担心｡
这就是解决办法｡
我在这里要做的就是保持pie pdf导入, 从头开始｡
我想做的第一件事是, 我想抓住这个超级dope PDF, 我们要处理｡
所以我还是把它叫做模板, 这个模板就是pi pdf｡
我们将使用PDF文件阅读器对象｡
我将向你们展示一个小捷径, 而不是像以前那样打开它｡
我们可以在里面说, 打开｡
然后说超级点pdf, 这就是我们要打开的, 然后打开它｡
而第二个参数被读为二进制｡
就像这样｡
我们将创建一个文件读取器｡
现在, 你可以这样做, 也可以用我之前教过你的方法｡
这只是我喜欢使用的一种更简洁的语法｡
下一个
我还想打开水印pdf文件, 所以我将其命名为水印｡
同样, 我们将使用相同的方法｡
所以我会说文件阅读器, 而不是打开超级pdf, 我会打开水印pdf｡
最后, 我希望能够写出我的输出, 并把这两个联合收割机｡
所以我会说输出等于｡
我们会说圆周率｡
PDF Dot pdf文件写入器｡
在内存中创建正确的对象｡
现在从这里｡
这是个棘手的问题｡
理想情况下, 我们循环遍历模板的页面, 并将水印添加到其中｡
现在我们不知道超级点PDF有多少页｡
我的意思是, 我们可能要改变这个程序, 这样我们就可以使用这里的命令行给予它一个文件｡
但理想的情况是, 我们希望制作一个灵活的程序, 无论给定的PDF有多少页,
我们都可以处理它｡
所以我要在这里用一个for循环, 如果需要的话, 我们也可以创建一个函数｡
但是现在, 因为这只是一个代码块, 我们可以保留它, 不使用函数｡
我会说I在范围内, 因为我们不知道这个文件会有多大｡
我要说的是模板. get｡
麻木的书页｡
Get nom pages是要告诉我模板有多少页｡
请记住, 我们在上一课中也看到了numberpages的用法, 但我们可以使用getnumberpages来向您展示一些不同的内容｡
所以现在它要得到页数｡
它会创建一个range对象, 然后循环遍历它.
所以如果我们有五页, 它会循环五次｡
在这里, 我们可以做的是有一个页面对象｡
所以我们会说template, get page在我们所在的索引处｡
所以每次都要看第一页, 第二页,
第三页, 第四页, 这样我们就能看完所有的内容.
这就是我们的页面对象｡
下一个
我们要做的就是把页面合并到一起｡
这个合并页面只是简单地将水印点取为第二页索引零｡
因为水印pdf只有一页有水印｡
所以我要把水印合并到那一页上｡
现在请注意, 我没有使用PDF文件合并, 我将向您展示为什么合并页面的工作方式｡
当我们完成了一个项目｡
但你可以用任何一个｡
这里与我的页面的关键是, 我喜欢PDF文件合并, 它将文件一个接一个合并页面实际上很好地合并了页面,
就像我们想要的水印｡
现在, 如果您自己尝试该练习, 则必须通读文档｡
同样, 其中一件事, 你只需要练习肌肉｡
最后, 现在我们有了页面, 我们可以说输出, 这是我们将要拥有的PDF编写器｡
我们的输出将是广告页面｡
我们要添加这个已经合并的页面｡
最后, 我们能做的就是打开它｡
我们称之为新的PDF, 我们称之为水印｡
输出｡
点pdf｡
我们要说｡
对, 二进制｡
我们称之为｡
现在如果我们正确输出点并写这个文件, 让我们看看会发生什么｡
我要运行我的程序｡
你去那里, 无处可去｡
让我们看看它是否有效｡
我们看到我们有一个水印输出｡
现在, 这又是一个胡言乱语｡
但如果我们打开这个｡
你看
我们有我们的PDF文件｡
我们在第二页, 第三页, 甚至第四页都有草稿｡
这很酷吧？
我们刚刚创建了一个PDF水印｡
很简单吧？
再说一次, 如果这让你感到困惑, 你会说, 嘿, 安德烈, 我没有得到这个, 我是一个糟糕的程序员吗？
不, 你不是｡
这是非常具体的图书馆率｡
在面试中, 你永远不会被问到这种确切的语法｡
相反, 您可以阅读要合并页面的文档｡
所以你在谷歌上搜索一些东西, 比如图书馆官方文档上的合并页面, 你会发现, 嘿,
合并页面就在这里｡
我可以阅读合并页的功能, 我们可以看到｡
哦, 是的｡
将两个页面的内容流合并为一个｡
好吧, 这就是我们需要的｡
这就是我们所用的｡
然后你反复试验, 直到你有了一个可行的项目｡
这就对了｡
你不能在好莱坞工作｡
恭喜你啊
下一个视频里见｡
再见, 再见, 再见