Printing a text file using wxWidgets - wxwidgets

I found information about wxHtmlEasyPrinting & other printing features in wxWidgets, however I didn't find something as simple as I actually needed. All I want to do is print a text file
I don't want special formatting, I want a basic printout of basic text file containing say 10 lines of text.
I have a dialog. In this dialog I have a 'print' button. The print button should take you to a print setup page, from where one can get a print out of a text file. (So the print wouldn't be actually printing the dialogue, I dont necessarily need that)
Just to make it easier to understand:
void manual::OnButton1Click(wxCommandEvent& event)
{
PrintDialog1->ShowModal();
}
Right now the above code simply shows a print setup page, but obviously, clicking on print gets you nowhere.
Any idea where to start?

Printing even a plain text file is not that simple, you still need to wrap its lines, paginate it and so on, so you do need your own wxPrintOut implementation. You can look at the printing sample included with wxWidgets to see how to do it. Or you can indeed use wxHtmlEasyPrinting after trivial conversion of the text to HTML (basically you just need to escape the special XML entities).
Another solution is to use an external program for printing, which is the absolutely simplest way to do it, but doesn't provide any UI for the user at all.

Related

Is there a way to isolate the view of code-regions in IntelliJ?

I have some static HTML and want to generate templates out of it. Looking through the HTML tags I often find myself adding the tags I don't want to have in my templates because I went too far down in the hierarchy. Is there a way to kind of isolate the view of a marked code area? Like greying all unmarked code out somehow?
I'm still not 100% sure what you mean by "mark". I'm assuming you mean "select", that is highlight with the cursor, like this:
If that is the case... here is some info.
There is no way to "highlight" the selected portion and work with it, nor a way "dither out" the non selected portion as you go on to work with the desired portion. You could, however, make use of scratch files to work on the desired text. (Scratch files at IntelliJ IDEA help documentation)
With the portion you want to modify selected, if you create a new scratch file (Ctrl+Alt+Shift+Insert / ⇧⇧N or Tools > New Scratch File), the selected portion will be copied into a scratch file:
You could then work in that scratch file, then copy and paste the final result back into the original file (the changes you make in the scratch file are not "linked" to the original file).
Because you have a portion selected when you launch the scratch file, IDEA creates a scratch file of the same type (HTML in this case) as the selected content. (If done without selected text, a popup is shown asking the type of scratch file you want to create.) If you want JSP syntax awareness, in the HTML scratch file, open the context menu (i.e. right click) and select "Change Language" and select JSP from the menu (inline search is available, so you can just start typing JSP).

Determine the Text that can Display in Multiline PDTextField

Is there a way to determine the text that will actually display in a PDTextField when the PDF prints? If I call setValue and then getValue, it returns all of the text even though it will not all display.
I am trying to fill out a form with a limited size multiline text field that has the notation to attach another page for more details. I would like to limit the text to that which will display and generate the added detail page.
Thanks for indulging a PDFbox newbie.
There is no direct way to find that out as the details of the text layout such as line breaks, padding, line spacing are hidden inside the non public class PlainTextFormatter inside the org.apache.pdfbox.pdmodel.interactive.formpackage. So you'd need to replicate that code.
PDFBox tries to resemble the calculations done by Adobe Acrobat and Adobe Reader but the details of such calculations are not part of the PDF specification. So doing your calculation is only valid for a similar layout model. Other form filling applications might have a slightly different layout model and as a result your results will not apply to these.
In addition to that Acrobat (and PDFBox) place text although it might be partially clipped. Look at the results of the AlignmentTest.javaunit test to see what I mean. So one might have a different expectation to what 'fitting' really means.
As I've thought about passing the information about which text fitted back to the calling application anyway I've opened an enhancement request https://issues.apache.org/jira/browse/PDFBOX-3413 for that.

Can I make page-unique headers/footers in MS Word?

I'm writing VBA to process MS Word documents, and I need it to examine the contents of individual pages and generate related header/footer text from that. Is there a way to do this without creating new Sections?
I need the document to flow as it should, unbroken by Sections, but I also need (some of) the header/footer text to be distinct, per page. I know this is unusual due to auto-flowing pagination, etc. But, it really is necessary in this case; pieces of the header/footer must tie directly to each page's contents. That said, it may not be mandatory to have the text actually inside the "proper" header/footer; but, I do need the end result to be to that same effect.
Any tips? Can headers/footers be used for this? (In my research, it appears they may not be able to, although I may be missing something. Any other tips, if not? Perhaps some sort of special field/box?)
Note: Obviously, running this code would be a final step (once the document is in final form) since any editing of the document would re-flow its layout, modifying page contents.
If you don't want to use sections, you can use conditional IF fields like this:
{IF { PAGE } = 2 "Second Page" "Other Page" }
Note that you need to create nested fields for that, e.g. by pressing Ctrl+F9.

VBA: set txt to be printed in Portrait mode

this time I'm fighting against a .txt file which doesn't want to be (programmatically) set to be printed in Portrait-mode instead of Landscape-mode (which is the default apparently).
Thing is I know how to do that with application like Word or Excel, but sadly enough I'm working on a device that has no Office at all.
I'm not providing any code at all since my problem is pretty straightforward, and I think I need a simple command in order to solve it. What I basically (programmatically) do in my subroutine is:
Open the file as #1 (I know this appears so '80, but I don't want to modify an up-and-running system, potentially having errors show up)
Write text to the file
Close #1
Save the file
Call text editor shell to show the file to the user
How can I then automatically set the print format to Portrait?
P.s.= I do not have the possibility to insert a userform or an object to print the txt file in "special ways", the user has to print the file from txt editor itself (wordpad just in case)
First to state the obvious: there are no print settings stored in text files (or indeed anything else except for the text). Print settings would be controlled within whatever you are using to print - in this case Notepad or Wordpad.
There are only very limited command line switches for Notepad and Wordpad, which unfortunately don't include page setup. In theory you may be able to automate setting portrait using SendKeys (see here and here) but if it is possible at all it's likely to be difficult and unreliable (focus and timing are two issues).
I can't see a good way round this within the parameters of your question. Adding an object within your application would probably have been the best solution. You might try looking for an alternative text editor you could install that is easier to automate. The only other alternative might be to set defaults within the printer drivers and hope that those stick when the user opens Notepad.

Edge Animate Automation

Most Adobe products have the ability to be automated using AppleScript or ExtendScript/JavaScript but I don't seem to see the same capabilities in Edge Animate. Maybe I'm just missing something. I'm looking to be able to do things like open the document, add images, save the document, etc. Has anyone been able to find anything like this? I've done a number of different searches to no avail.
I'm not exactly sure what you're asking, but I think you're talking about adding your own javascript, which can be done by clicking the curly brackets located next to any of the elements in the animation, or hittin ctrl+E to see the full code.
Second, in terms of opening the document, you should be able to just double click the an file that it creates, and saving the document is just like in any other program, file>save(as).
Adding images is as simple as file>Import (hotkey = ctrl + I).
not exactly what I was asking for, but I did end up finding a solution. I was looking for a mechanism to be able to control Edge Animate similar to how you can control InDesign, Photoshop, and Flash via VBScript, and JavaScript respectively. This allows you to do things like import images into your document from an external script, save the document, export contents, etc. In the end, I wrote some code that sends key-strokes to the application and that resolved the problem although not ideally, IMHO. Thanks for your responses, though.