我正在使用PDF小丑(在C#中)生成一个PDF文件,包含图形(线,多边形和圆)在不同的层。现在我遇到了一个问题,我在互联网上搜索了几天,但找不到解决方案。
我有以下问题:如何确保PDFClown生成的PDF可以使用其他应用程序进行编辑/修改,例如Blue Beam或Adobe Acrobat?目前,生成的PDF看起来不错,但我无法选择和修改任何图形(线,多边形等)在任何层。
var pdfFile = new File();
m_PdfDocument = pdfFile.Document;
m_PdfDocument.PageSize = PageFormat.GetSize(PageFormat.SizeEnum.A4);
m_PdfDocument.Version = Version.Get("1.6");
m_PdfPage = new Page(m_PdfDocument);
m_PdfDocument.Pages.Add(m_PdfPage);
var primitiveComposer = new PrimitiveComposer(m_PdfPage);
primitiveComposer.SetLineJoin(LineJoinEnum.Miter);
primitiveComposer.SetLineCap(LineCapEnum.Square);
primitiveComposer.SetLineWidth(2);
primitiveComposer.SetStrokeColor(DeviceRGBColor.Get(System.Drawing.Color.Black))
// Flip Y axis!
primitiveComposer.SetMatrix(1, 0, 0, -1, 0, m_PdfPage.Size.Height);
primitiveComposer.BeginLayer(layer);
primitiveComposer.DrawPolyline(line.ToArray());
primitiveComposer.Stroke();
primitiveComposer.End();
primitiveComposer.Flush();
pdfFile.Save(filename, SerializationModeEnum.Standard);
%PDF-1.5
%Çì¢
1 0 obj<</CreationDate(D:20190111132455+01'00')/ModDate(D:20190111132818+01'00')/Aut
hor(e.debont)/Creator(Bluebeam Revu x64)/Producer(Bluebeam PDF Library 18)>>
endobj
2 0 obj<</Type/Catalog/Pages 3 0 R/OCProperties 7 0 R>>
endobj
3 0 obj<</Type/Pages/Kids[4 0 R]/Count 1>>
endobj
4 0 obj<</Type/Pages/Kids[5 0 R]/Count 1/Parent 3 0 R>>
endobj
5 0 obj<</Type/Page/Parent 4 0 R/MediaBox[0 0 594.72 841.68]/Annots 19 0 R>>
endobj
6 0 obj<</Order[8 0 R]>>
endobj
7 0 obj<</OCGs[8 0 R]/D 6 0 R>>
endobj
8 0 obj<</Type/OCG/Name(Test)>>
endobj
19 0 obj[21 0 R]
endobj
21 0 obj<</Subj(Polylijn)/Type/Annot/P 5 0 R/F 4/C[1 0 0]/CreationDate
(D:20190111132642+01'00')/T(e.debont)/Subtype/PolyLine/AP<</N
22 0 R>>/IC[1 0 0]/M(D:20190111132642+01'00')/Vertices[225.8323 629.0071
273.3759 657.8729 354.8793 583.5859]/Rect[220.3323 578.0859 360.3793
663.3729]/NM(MQJCWGUIXHEAEWJU)/OC 8 0 R>>
endobj
22 0 obj<</Type/XObject/Subtype/Form/FormType 1/BBox[220.3323 578.0859
360.3793 663.3729]/Resources<</ProcSet[/PDF]>>/Matrix[1 0 0 1 -220.3323
-578.0859]/Length 84>>
stream
1 0 0 RG 1 0 0 rg 1 w 225.8323 629.0071 m 273.3759 657.8729 l 354.8793
583.5859 l S
endstream
endobj
xref
0 23
0000000000 65535 f
0000000015 00000 n
0000000183 00000 n
0000000246 00000 n
0000000296 00000 n
0000000359 00000 n
0000000443 00000 n
0000000475 00000 n
0000000514 00000 n
0000000000 65535 f
0000000000 65535 f
0000000000 65535 f
0000000000 65535 f
0000000000 65535 f
0000000000 65535 f
0000000000 65535 f
0000000000 65535 f
0000000000 65535 f
0000000000 65535 f
0000000553 00000 n
0000000000 65535 f
0000000577 00000 n
0000000900 00000 n
trailer<</Size 23/Info 1 0 R/ID[<2753c66a6950982e644007ca4324fe83>
<2753c66a6950982e644007ca4324fe83>]/Root 2 0 R>>
startxref
1175
%%EOF
PDFClown生成以下内容(在流和端流之间有二进制数据):
9 0 obj
<</Filter /FlateDecode /Length 60 >>
stream
Binary data
endstream
endobj
10 0 obj
<</Type /OCMD /P /AllOn /OCGs [8 0 R ] >>
endobj
11 0 obj
<</Type /XObject /Subtype /Form /BBox [0 0 594.71997 841.67999 ] /Resources
<</Properties <</1 10 0 R >> >> /Filter /FlateDecode /Length 60 >>
stream
Binary data
endstream
endobj
如何使用PDFClown编写Bluebeam输出?或者至少如何防止使用/filter/flatedecode?
发布的示例PDF内容表明,目标PDF编辑软件可以编辑的线条图形类型不是页面内容中的路径,而是折线注释。
您可以使用PDF小丑创建一个简单的折线注释,如下所示:
org.pdfclown.files.File file = new org.pdfclown.files.File();
Document document = file.Document;
Page page = new Page(document);
document.Pages.Add(page);
new Polyline(page, page.Box, "Test-PolyLine")
{
Color = new DeviceRGBColor(1, 0, 0),
Vertices = new List<PointF>() { new PointF(50, 50), new PointF(50, 250), new PointF(150, 150), new PointF(250, 250), new PointF(250, 50) }
};
file.Save("PolyLine-PdfClown.pdf", SerializationModeEnum.Standard);
Adobe Reader中的结果:
问题内容: 使用angular.js,我有一个要显示给用户进行编辑(然后提交)的表单域的动态列表: 和HTML: 看到这个小提琴。由于我不明白的原因,文本输入框不可编辑。如上所述,我尝试了两种不同的方法:和。是完全不可编辑的,将允许 一次 击键,然后变得模糊。我究竟做错了什么?谢谢。 问题答案: 它是可编辑的,但是在每次按键后,您的文本字段失去焦点,因此您必须再次单击它以放置另一个字符。 发生这种
我有一个通过ItemsSource属性绑定到ListView的可观察集合。我使用GridView来显示ListView中的项。通过将我的ViewModel中的“IsServiceMode”属性设置为“true”(DataContext为包含ListView的UserControl),我希望将GridViewColumn更改为使用TextBox而不是TextBlock。我将CellTemplates
我得到这个错误,而执行maven试图修复此代码5天非解决方案工作 [ERROR]无法执行目标org.apache.maven.plugins:maven-surefire-plugin:2.19.1:项目com.learn.selenium测试(default-test):目标org.apache.maven.plugins的执行default-test:maven-surefire-plugin
在我的Grails项目中,我使用PDF插件从gsp页面生成PDF。 它工作得很好,但我想为用户添加更多功能,因此我想允许用户编辑PDF基本模板(在gsp页面中定义),特别是我想允许编辑模板内的文本并将其存储在某处。 有人知道怎么做吗?
我有一个Ggogle表格,用于接收订单并在图表中显示它们,以及价格、接收日期、订单ID等信息。我需要制作一个界面,使我能够远程发送订单到表格,并远程编辑它们。我曾想过使用谷歌表单来完成这项工作,但据我所知,没有办法编辑这样的表单,只能发送订单。最好的方法是什么?
问题内容: 这个问题听起来类似于几个 人,除了在我的情况下确定按钮没有灰色-ED了。但是对于那些不想点击链接的人… 在输入设置后,尝试在Eclipse中创建或编辑AVD时,“确定”按钮似乎是“可单击的”,但是当我单击它时,绝对没有任何反应。 我确保已安装适当的系统映像,并且目标平台与所使用的API匹配。显然,已经选择了CPU,设置了外观等等,所有使“确定”按钮变灰的东西,事实并非如此。 如果我从日