Here's the link: https://www.dropbox.com/s/tmllckdanmyhl0b/Change%20of%20Agent%20-%20Domestic%20Entity.pdf?dl=0
On Mon, Nov 21, 2016 at 11:19 AM Mikhail Slyusarev < [email protected]> wrote: > Here's the PDF. I'm not sure where PDPageContentStream comes in to play > though. > > > On Mon, Nov 21, 2016 at 11:02 AM Tilman Hausherr <[email protected]> > wrote: > > Am 21.11.2016 um 19:31 schrieb Mikhail Slyusarev: > > I've compared it to the file you mentioned. It seems like that is what's > > happening. It's not entirely clear to me where to embed the resource > > though. I think the way I'm making the appearance stream is kind of a > > mistake. > > I can't comment without having seen the PDF. > > I forgot to mention, the font must also be in the resources of the > appearance stream, of course, as seen in > > Root/Pages/Kids/[5]/Annots/[14]/AP/N/Yes/Resources/Font/ZaDb > > > Is there a way to construct the appearance without having it all > > be PDF syntax strings? > > There's a PDPageContentStream constructor that takes appearance streams > as parameter so that it becomes a bit easier. Not sure if this works for > checkboxes. > > Tilman > > > > > On Mon, Nov 21, 2016 at 9:35 AM Tilman Hausherr <[email protected]> > > wrote: > > > >> Could you upload your result file somewhere? I could compare it with a > >> file that has a checkbox. > >> > >> What may be missing is the font definition in Root/AcroForm/DR/Font/ZaDb > >> > >> To see what I mean, open this file in PDFDebugger > >> http://www.ghostscript.com/doc/examples/annots.pdf > >> > >> Tilman > >> > >> Am 21.11.2016 um 15:32 schrieb Mikhail Slyusarev: > >>> How is this done? I'm able to create the field... that part's pretty > >>> straight forward. However, the field doesn't have an appearance, and > >>> constructAppearance isn't implemented for it. > >>> > >>> I'm doing this in jRuby, so excuse the syntax, but here's what I have > so > >>> far for creating an appearance. > >>> > >>> field = PDCheckBox.new(form) > >>> > >>> field.partial_name = rf.id > >>> > >>> form.fields.add(field) > >>> > >>> rect = PDRectangle.new( > >>> rf.x * box.width, > >>> box.height - (rf.y * box.height) - (rf.height * box.height), > >>> rf.width * box.width, > >>> rf.height * box.height > >>> ) > >>> > >>> appearance_stream = PDAppearanceStream.new(COSStream.new) > >>> > >>> cs = appearance_stream.content_stream > >>> > >>> out = cs.create_output_stream > >>> out.write("q\n1 1 9.3879 9.4828 re\nW\nn\nBT\n/ZaDb 7.7614 Tf\n2.4109 > >>> 3.1142 Td\n7.4742 TL\n(x) Tj\nET\nQ\n".to_java_bytes) > >>> out.close > >>> > >>> ad = COSDictionary.new > >>> ad.set_item(COSName::YES, appearance_stream) > >>> > >>> appearance = PDAppearanceDictionary.new(COSDictionary.new) > >>> appearance.normal_appearance = PDAppearanceEntry.new(ad) > >>> > >>> widget = field.widgets.get(0) > >>> widget.rectangle = rect > >>> widget.page = page > >>> widget.printed = true > >>> widget.appearance = appearance > >>> > >>> page.annotations.add(widget) > >>> > >>> > >>> The magic string above is pulled from analyzing an existing checkbox > >>> field on a pdf. How do I get the appearance correct (with a check > >>> symbol)? > >>> > >>> Thanks, > >>> Mikhail > >>> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [email protected] > >> For additional commands, e-mail: [email protected] > >> > >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >

