| <<<Back 1 day (to 2018/05/10) | 20180511 |
sebras | Robin_Watts: I'm confused. what is the distinction between clean and sanitize in the context of content streams? | 11:35.29 |
Robin_Watts | Where have you seen "clean" used in the context of content streams ? | 11:35.55 |
sebras | Robin_Watts: when I add -s to mutool clean I can see that the sanitize code is enabled, but the text_filter is still NULL, so I'm not sure what it does more than the normal clean? | 11:36.04 |
| Robin_Watts: in pdf_filter_page_contents(). | 11:36.14 |
| I think the bug is that when sanitize is not eanbled the resource dictionary entries from resources must be copied over to res, but they are not, hence the produced PDF is broken if the content streams references any resources. | 11:36.59 |
| the pdf_new_filter_processor_with_text_filter() does that automagically when it is run (if sanitized is set). | 11:37.21 |
Robin_Watts | ok. | 11:37.31 |
sebras | Robin_Watts: but the bigger issue is that I don't understand the intended difference between cleaning with -c and cleaning with -cs | 11:38.10 |
Robin_Watts | "clean" doesn't change the contents of the content stream. | 11:38.28 |
sebras | Robin_Watts: it pretty prints its operators with 'clean -c', does that constitute changing the contents? | 11:39.37 |
Robin_Watts | "sanitize" actually looks at the content stream, and ensures that 'q' and 'Q' match up, that we don't go to the trouble of setting colors, and then set them to something else before we use them etc. | 11:39.43 |
sebras | I guess it all is a definition, and that's what I'm trying to get. | 11:39.51 |
inflex | Evening all. Just looking at MuPDF as an option for some commercial development. Somewhat hoping of using an existing crossplatform viewer but with the capability of being communicated with from another program (bidirectional) for things like "Search PDF for X4882 and jump to first instance", or, the PDFviewer itself telling the other program "Search for R8082" | 11:40.10 |
Robin_Watts | sebras: I wasn't aware clean did more than copy streams. | 11:40.13 |
| It sounds like from what you are saying that clean can maybe make whitespace changes, but that's all. | 11:40.29 |
sebras | Robin_Watts: aha! ok, so then in the case of sanitize of course the resources might change, but in the case of clean, the referenced resources ought to be kept. | 11:40.30 |
Robin_Watts | sanitize can make structural changes. | 11:40.36 |
| That's probably fair, yes. | 11:40.51 |
| inflex: Hi. | 11:41.07 |
inflex | hi Robin_Watts | 11:41.13 |
Robin_Watts | MuPDF is amenable to that sort of thing. | 11:41.23 |
| Basically, it's a portable core library to open/manipulate/render a range of document types (including PDF). | 11:41.53 |
| The example apps like viewers are just thin wrappers around the lib that does all the heavy lifting. | 11:42.19 |
| so adding stuff to remotely control the viewer from an outside source is just app programming. | 11:42.42 |
| It's dual licensed. Firstly it's available under the GNU AGPL. | 11:43.13 |
| If you can abide by the terms of that, great. | 11:43.21 |
inflex | http://openboardview.org <=- that's what I want to companion with. Basically OBV displays circuit boards with parts, and PDF viewer shows schematics with parts. I want to be able to cross-reference between them, saves a lot of time. Even though it's an MIT licenced open source project, I'm considering doing a commercial offering for those who want the extra time savings. | 11:43.23 |
| ja, I was reading the licenceing requirements, I think I need to go commercial. | 11:43.44 |
Robin_Watts | If you can't (or would rather not, or would like support), then you can get a commercial license from Artifex. | 11:43.44 |
moolc | inflex: i did something similar for lauterbach's trace32 help system.. shouldn't be all that difficult | 11:44.30 |
inflex | moolc, good to know. | 11:44.40 |
Robin_Watts | Cool, well we as engineers here don't get involved in the commercial discussions, other than to pass people on to talking to Scott Sackett at sales@artifex.com | 11:44.50 |
| If you contact him he'll generally be back in touch quite quickly. | 11:45.12 |
| He'll ask for details of exactly what you want to do. | 11:45.33 |
moolc | inflex: i didn't use mupdf-[x11|gl] though, but rather my own thing | 11:45.34 |
inflex | np, I have sent off an email already | 11:45.36 |
| moolc, this will be something I need on macOS, linux and win. Right now I'm developing OBV in linux, cross compiling to win via mingw64, but macos is handled by Travis via Github | 11:46.16 |
Robin_Watts | We don't have a "one size fits all" licensing model, everything is tuned to your requirements, so the clearer you can be about what you want to do, the better he can target the offering. | 11:46.22 |
inflex | Thanks, good to know, and presumed such. | 11:46.35 |
moolc | inflex: no windows support in my thing.. i don't have windows and therefore cannot port it | 11:46.56 |
Robin_Watts | So he'll probably come back with a MASSIVE list of questions, much of which won't apply to you. Don't be put off by that, just answer as best you can. | 11:47.04 |
inflex | Will do. Been doing this for a while, don't very often get in to the commercial library licence stuff. | 11:47.45 |
Robin_Watts | inflex: If you have simple questions, you can ask here. Involved stuff may require a commercial license, cos we're all quite busy at the mo. | 11:48.13 |
inflex | moolc, what gui toolkit are you using? I guess I'll have to look at things and see what I can work with. I built the basic muPDF viewer, very fast to use :-o | 11:48.18 |
| np, I'll wait for the email reply and take it from there. Thanks again. | 11:48.39 |
moolc | inflex: i don't use any toolkit... FWIW https://www.youtube.com/watch?v=qNszKpCUXhQ&list=PLLAukRknwSgFhpYsDKHY0oWpvV03Qj4AE | 11:49.18 |
sebras | Robin_Watts: three liner on sebras/master, clustering as we speak. | 12:11.40 |
Robin_Watts | sebras: Looks right to me. | 12:12.48 |
inflex | moolc, I'm thinking I could almost take the gl-main.c / mupdf-gl and work from that. | 12:43.12 |
moolc | inflex: if you are satisfied with mupdf-gl, by all means, go for it.. | 12:43.48 |
inflex | it seems to cover what I'm looking for initially, and the code is clean. I'd have to add 2-way message passing and invoke it probably from within OBV. One mod I might have to make is to let it select "words" on a click rather than right-click/area. Still, they're pedantic items not relevant to the big picture. | 12:45.03 |
| moolc, well, first step is working, I can now make it search from external source; didn't require any pipes in this case, just simple shared file; since it's only one every minute or two. | 13:57.36 |
moolc | inflex: you mean you write the query into a file and then "search" for it with mupdf-[gl|x11] | 14:00.20 |
| ? | 14:00.21 |
| but anywho.. must go find something to eat | 14:04.59 |
inflex | I have mupdf-gl check for the presence of the file, if it's there, it reads in the search string, then erases the file. It's horrible but it's a testing start for now without needing pipes | 14:05.03 |
| OBV writes a temp file then renames it to the required file mupdf-gl is looking for, to avoid partial write/read | 14:05.42 |
| afaik though, even though this still would require a commercial licence, because I believe the GPL has a clause explicitly to cover such message-passing/pipes, though I may be wrong there. | 14:07.45 |
| Looks like I need to find a legal expert with the GNU-AGPL | 17:47.07 |
sebras | inflex: I'm not sure if it helps you, but I can provide some information from FSF about GPL-compatibility https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicenses | 17:52.49 |
moolc | Det är officiell legalese orsakar problem med anslutningen | 18:43.22 |
| Forward 1 day (to 2018/05/12)>>> | |