Draw in MS-Access (overcome object limit) - vba

I'm placing hundreds and hundreds of boxes in dozens of carts with an optimization algorithm.
Problem:
How the boxes fit in the carts should be presented to the Access user visually and in print, and it should support moving individual boxes to other cart, by supplying a box ID and target cart ID and redraw. More ideally, via drag-and-drop.
What have I tried:
Rectangle objects on a Form. Hits the object limit after a few hundred boxes.
DuckDuckGone. Looked at Canvas and CanvasShapes. They seem to not be canvases proper?
Looked at external tools to say, compose a PDF. It wouldn't be interactive, though, and data would have to be passed as XML or similar.
Question:
Is there a way to draw say, 1000 rectangles in any type of window (Form, Report, etc.) in Access 2013 using VBA?
The rectangles are coordinate-based, so that it can't be presented as a table; you wouldn't see the physical dimensions of the carts and how the boxes fit in them.

In reports, you can, with the Report.Line Method.
But it will work (AFAIK) only in Print Preview and Print, not in Report view. So no interactivity whatsoever will be possible.
But I'm pretty sure it's your best option in Access.

Related

Most efficient solution for printing large amount of data

For example, there are 10-12 forms and in everyone of them there are between 5-20 panels with datagridview and some text. Content of every panel should be printable if there is any data in their DGV.
What would be easiest solution for printing data, should I make report for every one of those panels or there is some better/easier solution?
You should always create reports for anything you want to print. There are other options but they often take longer (PrintDocument) or they're harder to maintain (PrintDocument) or they're not very professional (screen/form print) or they only work until you get more data than what is visible on the users screen (grids with screen/form print).
Of coarse there are other options like sending the info to MS Word and telling it to print but that requires the end user has MS Word installed. Some try to create PDF documents and either fail or wish they hadn't.
Don't re-invent the wheel. Reports were created for this purpose.

How to measure different coordinates from a PDF file on Windows?

I am looking for a way to measure the coordinates of different rectangles on a PDF file?
Mainly I do have to perform some overprinting on an existing PDF and I need to know the x,y,w,h on where I am supposed to write the texts.
It seems that Preview.app on Mac has this ability but so far I wasn't able to find anything on Windows that does the same.
Please do not confuse this feature with the Measuring Tools from Adobe Reader which are used to measure distance in printed construction stuff, not the PDF page itself.
It seems that the default using of measure is point, so I need something that would allow to select a rectangle and that will tell me the coordinates.
Please do not suggest on exporting as a imagine and using something else to measure the pixels on the image.
Update: http://legacy.activepdf.com/support/knowledgebase/view.cfm?tk=rl&kb=11866 -- PDF Units, that's what I am looking for, something to measure the PDF coordinates in PDF units.
Disclaimer: I work for Atalasoft.
I know you said not to suggest this, but honestly, it's the easiest approach:
If you mean "sweep out a rectangle in the UI and report the coordinates", that's pretty straight forward, but it's going to be a build-your-own type of thing. What you will need are:
A PDF rasterizer (GhostScript, Acrobat, FoxIt, Atalasoft) to get you an image at a specific resolution.
A tool to display that image in a window and let you sweep out a rectangle (this is straight forward winforms type code for .NET, but we have a control that does this out of the box - combining 1 & 2 into one step).
A tool that can look at the structure of a PDF page and report back the crop box (if any) and the media box for each page (iText, DotPdf).
A tool/understanding of matrix transformations to build the matrix that goes from display space into PDF space (and/or vice versa, probably in iText, definitely in DotPdf)
The code flow becomes something like:
For each page:
Open document, pull out crop and media box, rasterize page, build transformation matrix.
Display image, build/hook into event for selection changing.
Push the image viewer rectangle coordinates through the transformation matrix.
Profit.
From a coding point of view (assuming 0 prior knowledge of this, but a decent understanding of linear algebra), from 3 days to a 2 weeks. If I were to write it, it would probably take on the order of a few hours, but I wrote most of our PDF tools and this is pretty easy.
If your goal is to intuit where rectangles are on the page and report back those coordinates, that's also doable, but it decidedly non-trivial in comparison. You need to write code that can rip through a PDF display list and interpret the contents correctly. That means being able to handle all the cumulative matrix transformations, the graphics state changes, the gstate object use, Form XObject placement, and so on. You need to answer the question "what is a rectangle?" because in PDF placement, it could be an re operator, a set of degenerate beziers, a set of lines, an image of a rectangle or (surprise!) a combination of all of the above. Honestly, intuiting anything about the content on a PDF page is a Herculean task.

Possible to control PDF layout with iText?

I'm writing some logic to build a large single PDF file that our users can print at their convenience. I'm using Java's iText library (through Clojure's clj-pdf).
I'm trying to have the PDF show the same exact template form on every single page, however I can't seem to find any documentation or indication that one can have PDF content "fit to a page".
The text in these forms varies a little bit, so there's a chance it might require more of fewer text lines per page. This means that the content has a chance of spilling over to the next page, or being too short, making the next page creep up into the previous one, breaking the requirement of "one form per page" for the rest of the document.
I'm trying to figure out if my option is pretty much only to manually check the length of the text on each page and potentially crop it by hand if I goes over n lines, or if the PDF format somehow supports a smart way of having paragraphs+tables+headings all fit in one page. Some UI systems allow you to control how spill-over is handled, anywhere from cropping to resizing the font, so I'm curious if PDF supports anything of that sort.
Edit: ended up going with pagebreaks for simplicity, wasn't aware of that option when I wrote this question.
If you want to take control over the space taken by text, for instance to fit it on a single page, the way to go would be to create a ColumnText object and to add the content in simulation mode. If the text fits the page, add it for real. If it doesn't, use a smaller font size. This is demonstrated in the MovieAds example where snippets of text are fitted into AcroForm fields.

Dynamic - Expanding Text Box in Adobe Acrobat X Pro?

I have some forms that I need to add expanding text boxes to.
I already have Multi-Line selected. And yes the scroll-bar appears when field is full and you keep entering text. However, when you go to print, it doesn't print out the full text.
I know in Adobe LiveCycle you can make dynamic forms, that bump onto the next page. I have done this, but you lose so much functionality in LiveCycle. To be dynamic you lose the ability to position objects without using tables and therefore doing designs and graphics are not as easy.
Has anyone found a way to do this in Adobe Acrobat X Pro?
At this point, I think it would be easier just to convince people that a web form is much easier to update and style any way you want with print CSS stylesheet.
Thanks for any suggestions.
To be dynamic you lose the ability to position objects without using tables and therefore doing designs and graphics are not as easy.
That is not true. A form being dynamic or not has nothing to do with having flowed or positioned content. A static form renders once on the server, a dynamic form can be re-rendered on the client and thus is able to reflect layout changes like hiding objects or altering heights of objects (more info).
With either form type you can have both positioned and flowed content. The trick is to divide your form into subforms according to the structure of the data you want to display (tutorial).
To let the text field grow automatically with the amount of text, enclose it in a subform with flowed content, allow multiple lines and enable "expand to fit" (or "auto-fit).

Automated Development of Presentation with Interactivity

I am trying to identify the right tool, language, software package, or other for the automated development of presentations, where the presentation is user interactive.
The presentation will consist of images with titles and some descriptive text. Most of the time there will be 35–70 images. I would like to show each image on a separate page, slide, tab, etc. (I guess proper terminology depends on the solution.)
The images will change, but the titles will remain the same, and there will be a little bit of change to the description of each image.
After putting the presentation together, I would like the user to be able to circle and "write" on the electronic image in kind of the wax pencil sense (I previously worked in a photo lab and we worked with wax pencils on negatives all the time and would like to have kind of a similar flexibility). Moreover, I would like users to be able to add comments as well, kind of in the way Adobe PDF Professional allows, e.g. inserting bubble comments, etc.
Most importantly, I would like to be able to do this in an automated way. Right now we are using PowerPoint, but the amount of time it is taking to put an image on a slide in PowerPoint, resize it, and then set up the text is killing us. Plus, as the images change it takes tons of time to go back and update them. Thus, we would like something that is a bit faster to update images and get the feedback from our few users. Does not necessarily have to be a web hosted solution, but could be run through a browser.
Sorry this is so long and thanks for any ideas and feedback, especially if there is an existing software package solution, language that can be used, or other approach to get this done.
These days, two of the most popular are Adobe Captivate and Articulate Presenter. For service, instead of product, you can check out services like http://voicethread.com.
I don't know of any product that completely answers your requirements.
But, for similar results I use two different tools for developing the presentations and another one for drawing while presenting.
If I just want to make a presentation made of pictures and texts, and I want to automate its creation, I use irfanview http://www.irfanview.com/ with its wonderful feature for automated slideshows. I put all the images together, annotate them (I use either their filenames, or if not enought, with EXIF and comment fields) and create a slideshow, that can be compiler into an .exe file.
If I want a more elaborated presentation. With full annotation capabilities, I use Wink http://www.debugmode.com/wink/
For drawing over the screen during the presentation, I use a very old bitmap drawing program, called PC-Draw, that allows, with a hotkey, to capture the screen as a bitmap and begin drawing over it, and with another hotkey, to return to the original screen without altering the running programs at all. I have not found it anywhere in the web. However, I found similar programs just a quick google away.
All three tools are free and easy (and even fun) to use.