Jump to content

Acquire from Brother Scanner distorts, but works as expected with Pixelmator Pro :(


jmliss

Recommended Posts

Let me add that scanner from Brother Brother HL-2280DW CUPS seems to work well - and when I tried various combinations for Brother MFC-L2750DW series-AirPrint some importing caused Affinity Photo to actually crash. I believe these bugs are latent for many versions of Affinity Photo.

 

Link to comment
Share on other sites

This is a known bug which the Serif engineers allegedly cannot exactly replicate. Acquire from Affinity works for some users, but not for others.
All of my three compatible scanners – 2 Epson and 1 HP – are affected, both in Affinity v1 and v2. All three work otherwise.

Scanning via Apple's own Image Capture app – which is technically exactly the same process – works always fine. So simply use that instead.

To scan via Image Capture directly into Photo, you can create a totally simple Automator plugin, which will pass the scanner input (that is being temporarily saved in a hidden system folder) to open with Photo:

automator_image_capture_plugin.png.9a9453641b7df0f29a4b9cae2b73e040.png

Open the Automator app, create a new Image Capture plugin and add at least the Run AppleScript action.
Make sure it contains exactly this code:

on run {input, parameters}
	tell application "Affinity Photo 2"
		activate
		open input
	end tell
	return input
end run

Save the plugin under a meaningful name like "Open in Affinity Photo" or whatever you like. It will be automatically saved in ~/Library/Workflows/Applications/Image Capture

Then open Image Capture, select your scanner and set the Scan To popup menu to the name of your previously created plugin:

image_capture_automator_plugin_to_aph.png.d5f647b4e3c23ff1066c52bb369a663b.png

Then scan.

That's all:

aph_scan_from_image_capture_automator_plugin.png.7cb9b3d07b92638e2002d501d9fc9eb2.png

Make sure to Save As or export into a directory of your choice, as the temporary folder where the interim scan file resides will be eventually cleared.

Edited by loukash
see below

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

Actually strike that idea with Automator!

It's in fact much easier:

  1. in Image Capture, open the Scan To popup menu and select Other…
  2. navigate to your Applications folder
  3. choose Affinity Photo as your "scan to" app
  4. scan

That's all!

As above though: make sure to Save As or export into a directory of your choice, as the temporary folder where the interim scan file resides will be eventually cleared.

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

@loukash, thank you for the idea, I will look into it. I was hoping that by indicating it didn't work for one brother scanner, but yet another it did work, that info might help Affinity. The fact that it works for Pixelmator pro, and perhaps other photo editing apps, should be a stimulus to accelerate a fix. In terms of the "same process", well it might not be the same "environment" - timing, memory management, race conditions, whatever, recursive code if they implement that way. This is an annoying situation, similar to have to work around using nik collection on an apple silicon. Affinity needs to strive for perfection.

Link to comment
Share on other sites

3 minutes ago, loukash said:

Actually strike that idea with Automator!

It's in fact much easier:

  1. in Image Capture, open the Scan To popup menu and select Other…
  2. navigate to your Applications folder
  3. choose Affinity Photo as your "scan to" app
  4. scan

That's all!

As above though: make sure to Save As or export into a directory of your choice, as the temporary folder where the interim scan file resides will be eventually cleared.

there are bugs in the affinity implementation. I sometimes get a -9921 (Failed to open a session on the device) but yet the scanner is running. Perhaps a timing issue.

 

Link to comment
Share on other sites

2 minutes ago, jmliss said:

there are bugs in the affinity implementation. I sometimes get a -9921 (Failed to open a session on the device) but yet the scanner is running. Perhaps a timing issue.

 

And yes, your simpler idea worked for me, image scan -> affinity photo 2 - thanks for thinking out of the box

Link to comment
Share on other sites

17 minutes ago, jmliss said:

In terms of the "same process", well it might not be the same "environment"

Hm, that's all negligible. Affinity just plugs into the existing MacOS API. The thing is that apparently they messed something up on the way and can't figure out what exactly.

13 minutes ago, jmliss said:

your simpler idea worked for me, image scan -> affinity photo 2

In fact you can "close the circle" so to speak, and make use of an Automator Quick Action to open Image Capture directly from Photo via the Services menu – and thus also available via keyboard shortcut. So in the end, the workflow will be virtually identical to the Acquire command, except that it actually works.

And it works like a charm. :) 

automator_scan_to_aph_via_image_capture.png.cefc38c131bfe4e53f8c619f67140df5.png

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

15 minutes ago, jmliss said:

will this create a new layer in the open tab or a new AP tab ?

It will be a new image file, not "Untitled" as from Acquire Image. 
The major difference is that you can select the format you're scanning to and define the file name before scanning. If you're scanning to TIFF (or PNG, unless your scanner support features that PNG can't do), the scan will be just as lossless as with Acquire Image.

31 minutes ago, jmliss said:

sometimes get a -9921 (Failed to open a session on the device)

I'm seeing this with the HP (LaserJet MFP M28w) as well. It's connected via AirPrint. The error usually appears when the MacOS "advanced" Network settings for some unknown reason disable IPv6. So I have to enable IPv6 manually again, then it works.

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

Well, I view it more as a timing bug in and around the api call, because if I wait a few seconds, click again, or switch to another scanner and then back, it works. That is why I said earlier that the environment in and around calling the api is different. Anyway, your second suggestion, simply outputting image capture to AP2 is fine. Doing it twice creates a 2nd tab which is ok, so the image can be modified, then copy/pasted to the first tab. This is a good enough solution for me and it is out of the box, w/o having to create custom code (automator) that perhaps can break in a future OS upgrade.

AP needs to fix the underlying issue as the fix might expose other issues. I can make Affinity Publisher crash for example and had to identify work arounds - so what I'm saying is that their qualification/system test processes need to be enhanced - yes, every piece of code has a bug, its just a matter of time for it to be exposed .....

 

Link to comment
Share on other sites

31 minutes ago, loukash said:

It will be a new image file, not "Untitled" as from Acquire Image. 
The major difference is that you can select the format you're scanning to and define the file name before scanning. If you're scanning to TIFF (or PNG, unless your scanner support features that PNG can't do), the scan will be just as lossless as with Acquire Image.

I'm seeing this with the HP (LaserJet MFP M28w) as well. It's connected via AirPrint. The error usually appears when the MacOS "advanced" Network settings for some unknown reason disable IPv6. So I have to enable IPv6 manually again, then it works.

My MAC OS Ventura Network->wifi->TCP/IP->Configure IPv6 is set to "Automatically" - I'm not sure why this would change, perhaps a function of the modem/router ? I have a mesh network. I'm only guessing now. But as I said, if I wait some time, that error message goes away and it eventually works.

 

I suspect we (you) beat this to death with your image capture -> AP2 suggestions - as I am now a happy camper.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.