Can the Read MagickImageCollection method be faster? #1710
Replies: 26 comments 9 replies
-
You are reading a document? |
Beta Was this translation helpful? Give feedback.
-
Yes, I am reading the pdf document, which is also about 200 pages long. How could rendering these pages be implemented faster? The minimum DPI I need to use is 150 |
Beta Was this translation helpful? Give feedback.
-
I attach a large file with which I am testing. How could you get good image extraction time? Thank you |
Beta Was this translation helpful? Give feedback.
-
This is the code I use, it takes about 5 minutes could it be improved in time?: [Fact]
} |
Beta Was this translation helpful? Give feedback.
-
With FrameIndex from MagickReadSettings?
Un saludo,
Manuel Quero Delgado
El El dom, 8 sept 2024 a las 20:00, Dirk Lemstra ***@***.***>
escribió:
… With 200 pages your are might be using a lot of memory. You could speed
this up by reading it page per page. With PdfInfo.Create( you can get the
page count and then do a for loop and only read that scene.
—
Reply to this email directly, view it on GitHub
<#1710 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APJ2PESSR72AYKXPEYDRMFTZVSGFJAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANJYGM3DQMQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
You should not use the |
Beta Was this translation helpful? Give feedback.
-
Thanks Kirk, but how can you automatically delete the temporary files to
generate the reading of each of the images? magick-*
El lun, 9 sept 2024 a las 21:15, Dirk Lemstra ***@***.***>)
escribió:
… You should not use the MagickImageCollection but read a MagickImage and
specify the FrameIndex in the MagickReadSettings inside a Parallel.For
loop that use the information that was acquired with PdfInfo.
—
Reply to this email directly, view it on GitHub
<#1710 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APJ2PEWWQOUVVOGHQ3YSWZDZVXXV5AVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANJZGQ4DOMQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
--
Un saludo,
Manuel Quero Delgado
|
Beta Was this translation helpful? Give feedback.
-
It sounds like you are missing a |
Beta Was this translation helpful? Give feedback.
-
This is my source code:
[Fact]
public void GetImageFrameToFrame()
{
ResourceLimits.LimitMemory(new Percentage(5));
bool result = false;
uint totalPages = 0;
byte[]? data = null;
try
{
MagickImageCollection magickImages = new MagickImageCollection();
totalPages = (uint)PdfInfo.Create(@"C:\temp\Libro.pdf").PageCount;
data = File.ReadAllBytes(@"C:\temp\Libro.pdf");
Parallel.For(0, (int)totalPages, new ParallelOptions {
MaxDegreeOfParallelism = Environment.ProcessorCount }, index =>
{
MagickReadSettings settings = new MagickReadSettings()
{
FrameIndex = (uint)index,
ColorSpace = ColorSpace.sRGB,
ColorType = ColorType.TrueColor,
Compression = CompressionMethod.JPEG,
Density = new Density(150, 150)
};
try
{
MagickImage image = new MagickImage(data, settings);
image.Write(System.IO.Path.Combine(@"C:\temp\Pruebas\",
"Page_" + (index + 1) + ".jpg"), MagickFormat.Jpg);
image.Dispose();
}
catch (Exception exc)
{
}
finally
{
}
});
data = null;
result = true;
}
catch (Exception)
{
throw;
}
Assert.True(result);
}
El mar, 10 sept 2024 a las 6:54, Dirk Lemstra ***@***.***>)
escribió:
… It sounds like you are missing a using and not disposing an image
correctly.
—
Reply to this email directly, view it on GitHub
<#1710 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APJ2PETNGAJ7OMITN7MPD4LZVZ3PNAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANJZG44TQOI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
--
Un saludo,
Manuel Quero Delgado
|
Beta Was this translation helpful? Give feedback.
-
Hi Kirk, how can I correctly release image objects with the Dispose Method?
Thanks
El mar, 10 sept 2024 a las 7:14, Manuel Quero Delgado (<
***@***.***>) escribió:
… This is my source code:
[Fact]
public void GetImageFrameToFrame()
{
ResourceLimits.LimitMemory(new Percentage(5));
bool result = false;
uint totalPages = 0;
byte[]? data = null;
try
{
MagickImageCollection magickImages = new MagickImageCollection();
totalPages = (uint)PdfInfo.Create(@"C:\temp\Libro.pdf").PageCount;
data = File.ReadAllBytes(@"C:\temp\Libro.pdf");
Parallel.For(0, (int)totalPages, new ParallelOptions {
MaxDegreeOfParallelism = Environment.ProcessorCount }, index =>
{
MagickReadSettings settings = new MagickReadSettings()
{
FrameIndex = (uint)index,
ColorSpace = ColorSpace.sRGB,
ColorType = ColorType.TrueColor,
Compression = CompressionMethod.JPEG,
Density = new Density(150, 150)
};
try
{
MagickImage image = new MagickImage(data, settings);
image.Write(System.IO.Path.Combine(@"C:\temp\Pruebas\",
"Page_" + (index + 1) + ".jpg"), MagickFormat.Jpg);
image.Dispose();
}
catch (Exception exc)
{
}
finally
{
}
});
data = null;
result = true;
}
catch (Exception)
{
throw;
}
Assert.True(result);
}
El mar, 10 sept 2024 a las 6:54, Dirk Lemstra ***@***.***>)
escribió:
> It sounds like you are missing a using and not disposing an image
> correctly.
>
> —
> Reply to this email directly, view it on GitHub
> <#1710 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/APJ2PETNGAJ7OMITN7MPD4LZVZ3PNAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANJZG44TQOI>
> .
> You are receiving this because you authored the thread.Message ID:
> ***@***.***>
>
--
Un saludo,
Manuel Quero Delgado
--
Un saludo,
Manuel Quero Delgado
|
Beta Was this translation helpful? Give feedback.
-
Sorry Dirk!!!
Un saludo,
Manuel Quero Delgado
El El mar, 10 sept 2024 a las 22:57, Manuel Quero Delgado <
***@***.***> escribió:
… Hi Kirk, how can I correctly release image objects with the Dispose Method?
Thanks
El mar, 10 sept 2024 a las 7:14, Manuel Quero Delgado (<
***@***.***>) escribió:
> This is my source code:
>
> [Fact]
> public void GetImageFrameToFrame()
> {
> ResourceLimits.LimitMemory(new Percentage(5));
>
> bool result = false;
> uint totalPages = 0;
>
> byte[]? data = null;
>
> try
> {
> MagickImageCollection magickImages = new MagickImageCollection();
>
> totalPages = (uint)PdfInfo.Create(@"C:\temp\Libro.pdf").PageCount;
>
> data = File.ReadAllBytes(@"C:\temp\Libro.pdf");
>
> Parallel.For(0, (int)totalPages, new ParallelOptions {
> MaxDegreeOfParallelism = Environment.ProcessorCount }, index =>
> {
> MagickReadSettings settings = new MagickReadSettings()
> {
> FrameIndex = (uint)index,
> ColorSpace = ColorSpace.sRGB,
> ColorType = ColorType.TrueColor,
> Compression = CompressionMethod.JPEG,
> Density = new Density(150, 150)
> };
>
> try
> {
> MagickImage image = new MagickImage(data, settings);
>
> image.Write(System.IO.Path.Combine(@"C:\temp\Pruebas\",
> "Page_" + (index + 1) + ".jpg"), MagickFormat.Jpg);
>
> image.Dispose();
> }
> catch (Exception exc)
> {
> }
> finally
> {
>
> }
> });
>
> data = null;
> result = true;
> }
> catch (Exception)
> {
> throw;
> }
>
> Assert.True(result);
>
> }
>
> El mar, 10 sept 2024 a las 6:54, Dirk Lemstra ***@***.***>)
> escribió:
>
>> It sounds like you are missing a using and not disposing an image
>> correctly.
>>
>> —
>> Reply to this email directly, view it on GitHub
>> <#1710 (comment)>,
>> or unsubscribe
>> <https://github.com/notifications/unsubscribe-auth/APJ2PETNGAJ7OMITN7MPD4LZVZ3PNAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANJZG44TQOI>
>> .
>> You are receiving this because you authored the thread.Message ID:
>> ***@***.***>
>>
>
>
> --
> Un saludo,
>
> Manuel Quero Delgado
>
--
Un saludo,
Manuel Quero Delgado
|
Beta Was this translation helpful? Give feedback.
-
I just noticed that your code contains You also no longer need the And instead of calling |
Beta Was this translation helpful? Give feedback.
-
Thanks Dirk, but even if I make the changes you have recommended, they
still generate temporary when I run it inside a parallel loop for, I show
you my code:
[Fact]
public void GetImageFrameToFrame()
{
bool result = false;
uint totalPages = 0;
byte[]? data = null;
data = File.ReadAllBytes(@"C:\temp\Libro.pdf");
try
{
totalPages = PdfInfo.Create(@"C:\temp\Libro.pdf").PageCount;
Parallel.For(0, totalPages, new ParallelOptions {
MaxDegreeOfParallelism = Environment.ProcessorCount }, index =>
{
MagickReadSettings settings = new MagickReadSettings()
{
FrameIndex = (uint?)index,
ColorSpace = ColorSpace.sRGB,
ColorType = ColorType.TrueColor,
Compression = CompressionMethod.JPEG,
Density = new Density(150, 150)
};
using (MagickImage image = new MagickImage(data, settings))
{
image.Quality = 100;
image.Write(Path.Combine(@"C:\temp\Pruebas\", "Page_" +
(index + 1) + ".jpg"), MagickFormat.Jpg);
}
});
data = null;
result = true;
}
catch (Exception)
{
throw;
}
Assert.True(result);
}
El vie, 13 sept 2024 a las 10:55, Dirk Lemstra ***@***.***>)
escribió:
… I just noticed that your code contains ResourceLimits.LimitMemory(new
Percentage(5)); and that will probably cause ImageMagick to create those
temporary files. I don't know why you added this but your performance will
improve when you remove this statement.
You also no longer need the MagickImageCollection.
And instead of calling .Dispose() I would advise you to use a using
statement instead.
—
Reply to this email directly, view it on GitHub
<#1710 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APJ2PESR7KEXMX5FYMSEIF3ZWKR67AVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANRTGUZTMNI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
--
Un saludo,
Manuel Quero Delgado
|
Beta Was this translation helpful? Give feedback.
-
Is there any kind of solution to identify the temporary image file name and
delete it after performing the operation? In this case the Dispose method
does not work
Thanks
Manuel Quero Delgado
El El dom, 15 sept 2024 a las 19:24, Dirk Lemstra ***@***.***>
escribió:
… This temp files are used by Ghostscript because when Ghostscript reads a
frame it writes it to a temporary output file. But those files should be
removed once the images have been read. I thought this was coming from you
limiting the memory but I forgot that Ghostscript requires temporary files.
—
Reply to this email directly, view it on GitHub
<#1710 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APJ2PEXTR6QQ6FF6YXPBF33ZWW7DTAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANRVGMYTONY>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
When I run the parallel for loop half of the temp files are not deleted
Un saludo,
Manuel Quero Delgado
El El lun, 16 sept 2024 a las 7:05, Dirk Lemstra ***@***.***>
escribió:
… Those files should be removed automatically. Are any files left behind?
—
Reply to this email directly, view it on GitHub
<#1710 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APJ2PESTN3M5RU324TBK5ILZWZRIPAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANRVGU2DIMA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
13.10.0
Un saludo,
Manuel Quero Delgado
El El lun, 16 sept 2024 a las 11:42, Dirk Lemstra ***@***.***>
escribió:
… Which version of Magick.NET are you using?
—
Reply to this email directly, view it on GitHub
<#1710 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APJ2PEURV52RMA5CJWGTGO3ZW2RZBAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANRVG42DSNI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
The problem still occurs when using the parallel loop
Un saludo,
Manuel Quero Delgado
El El lun, 16 sept 2024 a las 14:59, Dirk Lemstra ***@***.***>
escribió:
… Please first upgrade to the most recent version and check if the problem
still reproduces.
—
Reply to this email directly, view it on GitHub
<#1710 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APJ2PEVGKR2KE6CEW6N4CZLZW3I3HAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANRVHE2DGMQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
On my machine your test completes in 38 seconds and I have no temp files left behind. Are you testing with the same document? And are you also using the latest version of Ghostscript? One reason for tempfiles being left behind would be an abort of the test run. This kills the process and the temporary files are then not cleaned up. |
Beta Was this translation helpful? Give feedback.
-
Thanks Dirk, I've followed your advice, I've updated version 14 of
Magick.NET, I've updated the version of Ghostscript to the latest version,
plus I'm passing you the latest implementation of my code, but it still
keeps leaving temporary files.
public static async void Task1(byte[] data, uint totalPages)
{
try
{
object _SyncRoot = new object();
Parallel.For(0, totalPages, index =>
{
MagickReadSettings settings = new MagickReadSettings()
{
FrameIndex = (uint)index,
Density = new Density(150, 150)
};
using (MagickImage image = new MagickImage(data, settings))
{
image.Alpha(AlphaOption.Remove);
image.Quality = 100;
image.Write(Path.Combine(@"C:\temp\Pruebas\Libro1",
"Libro_" + (index + 1) + ".png"), MagickFormat.Png);
image.Dispose();
}
});
DirectoryInfo directory = new
DirectoryInfo(Environment.GetEnvironmentVariable("TEMP",
EnvironmentVariableTarget.User));
foreach (var file in directory.EnumerateFiles("magick-*"))
{
file.Delete();
}
}
catch (Exception exc)
{
}
finally
{
}
}
El lun, 16 sept 2024 a las 21:26, Dirk Lemstra ***@***.***>)
escribió:
… On my machine your test completes in 38 seconds and I have no temp files
left behind. Are you testing with the same document? And are you also using
the latest version of Ghostscript?
One reason for tempfiles being left behind would be an abort of the test
run. This kills the process and the temporary files are then not cleaned up.
—
Reply to this email directly, view it on GitHub
<#1710 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APJ2PETIHP5JBX6KZHHCMTDZW4WGJAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANRWGMZTMNI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
--
Un saludo,
Manuel Quero Delgado
|
Beta Was this translation helpful? Give feedback.
-
private static void Task2(byte[] data, uint totalPages)
{
try
{
object _SyncRoot = new object();
Parallel.For(0, totalPages, index =>
{
lock (_SyncRoot)
{
MagickReadSettings settings = new
MagickReadSettings()
{
FrameIndex = (uint)index,
Density = new Density(150, 150)
};
using (MagickImage image = new MagickImage(data,
settings))
{
image.Alpha(AlphaOption.Remove);
image.Quality = 100;
image.WriteAsync(Path.Combine(@"C:\temp\Pruebas\Libro2", "Libro2_" + (index
+ 1) + ".png"), MagickFormat.Png);
image.Dispose();
}
}
});
}
catch (Exception exc)
{
}
finally
{
}
}
I don't get temporary files here, but it runs slower
El lun, 16 sept 2024 a las 21:37, Manuel Quero Delgado (<
***@***.***>) escribió:
… Thanks Dirk, I've followed your advice, I've updated version 14 of
Magick.NET, I've updated the version of Ghostscript to the latest version,
plus I'm passing you the latest implementation of my code, but it still
keeps leaving temporary files.
public static async void Task1(byte[] data, uint totalPages)
{
try
{
object _SyncRoot = new object();
Parallel.For(0, totalPages, index =>
{
MagickReadSettings settings = new MagickReadSettings()
{
FrameIndex = (uint)index,
Density = new Density(150, 150)
};
using (MagickImage image = new MagickImage(data, settings))
{
image.Alpha(AlphaOption.Remove);
image.Quality = 100;
image.Write(Path.Combine(@"C:\temp\Pruebas\Libro1",
"Libro_" + (index + 1) + ".png"), MagickFormat.Png);
image.Dispose();
}
});
DirectoryInfo directory = new
DirectoryInfo(Environment.GetEnvironmentVariable("TEMP",
EnvironmentVariableTarget.User));
foreach (var file in directory.EnumerateFiles("magick-*"))
{
file.Delete();
}
}
catch (Exception exc)
{
}
finally
{
}
}
El lun, 16 sept 2024 a las 21:26, Dirk Lemstra ***@***.***>)
escribió:
> On my machine your test completes in 38 seconds and I have no temp files
> left behind. Are you testing with the same document? And are you also using
> the latest version of Ghostscript?
>
> One reason for tempfiles being left behind would be an abort of the test
> run. This kills the process and the temporary files are then not cleaned up.
>
> —
> Reply to this email directly, view it on GitHub
> <#1710 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/APJ2PETIHP5JBX6KZHHCMTDZW4WGJAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANRWGMZTMNI>
> .
> You are receiving this because you authored the thread.Message ID:
> ***@***.***>
>
--
Un saludo,
Manuel Quero Delgado
--
Un saludo,
Manuel Quero Delgado
|
Beta Was this translation helpful? Give feedback.
-
Same problem. It does not delete temporary files. I don't know what else to
do!!
Un saludo,
Manuel Quero Delgado
El El lun, 16 sept 2024 a las 21:46, Dirk Lemstra ***@***.***>
escribió:
… What happens when you don't put your test file in the c:\temp folder?
That is the only difference from what I am doing.
p.s. With that lock you are just writing a complex for loop.
—
Reply to this email directly, view it on GitHub
<#1710 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APJ2PEVMYZ5V4TPXWZW3AV3ZW4YQRAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANRWGM2TGMI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Can you send me a small implementation to see what I might be doing wrong?
Thanks Dirk
El lun, 16 sept 2024 a las 21:52, Manuel Quero Delgado (<
***@***.***>) escribió:
… Same problem. It does not delete temporary files. I don't know what else
to do!!
Un saludo,
Manuel Quero Delgado
El El lun, 16 sept 2024 a las 21:46, Dirk Lemstra <
***@***.***> escribió:
> What happens when you don't put your test file in the c:\temp folder?
> That is the only difference from what I am doing.
>
> p.s. With that lock you are just writing a complex for loop.
>
> —
> Reply to this email directly, view it on GitHub
> <#1710 (reply in thread)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/APJ2PEVMYZ5V4TPXWZW3AV3ZW4YQRAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANRWGM2TGMI>
> .
> You are receiving this because you authored the thread.Message ID:
> ***@***.***>
>
--
Un saludo,
Manuel Quero Delgado
|
Beta Was this translation helpful? Give feedback.
-
[Fact]
public void GetImageFrameToFrame()
{
bool result = false;
uint totalPages = 0;
try
{
totalPages = PdfInfo.Create(@"C:\Proyectos\Libro.pdf").PageCount;
Parallel.For(0, totalPages, index =>
{
MagickReadSettings settings = new MagickReadSettings()
{
FrameIndex = (uint)index,
Density = new Density(150, 150)
};
using (MagickImage image = new
MagickImage(@"C:\Proyectos\Libro.pdf",
settings))
{
image.Alpha(AlphaOption.Remove);
image.Quality = 100;
image.Write(Path.Combine(@"C:\Proyectos\Pruebas\Libro1",
"Libro_" + (index + 1) + ".png"), MagickFormat.Png);
}
});
}
catch (Exception)
{
throw;
}
Assert.True(result);
}
With this example 715 pages and 269 temporary files are not deleted
Un saludo,
Manuel Quero Delgado
El El lun, 16 sept 2024 a las 22:10, Manuel Quero Delgado <
***@***.***> escribió:
… [Fact]
public void GetImageFrameToFrame()
{
bool result = false;
uint totalPages = 0;
try
{
totalPages = PdfInfo.Create(@"C:\Proyectos\Libro.pdf").PageCount;
Parallel.For(0, totalPages, index =>
{
MagickReadSettings settings = new MagickReadSettings()
{
FrameIndex = (uint)index,
Density = new Density(150, 150)
};
using (MagickImage image = new
MagickImage(@"C:\Proyectos\Libro.pdf", settings))
{
image.Alpha(AlphaOption.Remove);
image.Quality = 100;
image.Write(Path.Combine(@"C:\Proyectos\Pruebas\Libro1",
"Libro_" + (index + 1) + ".png"), MagickFormat.Png);
}
});
}
catch (Exception)
{
throw;
}
Assert.True(result);
}
With this example 715 pages and 269 temporary files are not deleted
El lun, 16 sept 2024 a las 21:53, Manuel Quero Delgado (<
***@***.***>) escribió:
> Can you send me a small implementation to see what I might be doing wrong?
>
> Thanks Dirk
>
> El lun, 16 sept 2024 a las 21:52, Manuel Quero Delgado (<
> ***@***.***>) escribió:
>
>> Same problem. It does not delete temporary files. I don't know what else
>> to do!!
>>
>> Un saludo,
>>
>> Manuel Quero Delgado
>>
>>
>> El El lun, 16 sept 2024 a las 21:46, Dirk Lemstra <
>> ***@***.***> escribió:
>>
>>> What happens when you don't put your test file in the c:\temp folder?
>>> That is the only difference from what I am doing.
>>>
>>> p.s. With that lock you are just writing a complex for loop.
>>>
>>> —
>>> Reply to this email directly, view it on GitHub
>>> <#1710 (reply in thread)>,
>>> or unsubscribe
>>> <https://github.com/notifications/unsubscribe-auth/APJ2PEVMYZ5V4TPXWZW3AV3ZW4YQRAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANRWGM2TGMI>
>>> .
>>> You are receiving this because you authored the thread.Message ID:
>>> ***@***.***
>>> com>
>>>
>>
>
> --
> Un saludo,
>
> Manuel Quero Delgado
>
--
Un saludo,
Manuel Quero Delgado
|
Beta Was this translation helpful? Give feedback.
-
No, I always use the same one
Un saludo,
Manuel Quero Delgado
El El lun, 16 sept 2024 a las 22:31, Dirk Lemstra ***@***.***>
escribió:
… Are you testing with a different file than what you uploaded earlier?
—
Reply to this email directly, view it on GitHub
<#1710 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APJ2PEV5UQT3C7BUXL7FKVDZW452LAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANRWGM4DIMQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Your |
Beta Was this translation helpful? Give feedback.
-
I also tried it with a 333-page document and it continues to generate
temporary files.
Un saludo,
Manuel Quero Delgado
El El mar, 17 sept 2024 a las 6:36, Dirk Lemstra ***@***.***>
escribió:
… Your document.pdf file only contains 333 pages and not 715.
—
Reply to this email directly, view it on GitHub
<#1710 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APJ2PEWC5USHFLPRRQ3NAHLZW6WVXAVCNFSM6AAAAABN25F25SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANRWGYYTONQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Hello Dirk,
First of all, thank you for the great effort involved in maintaining these bookstores that help the community.
I'm fairly new to implementing this library and would need help on increasing the imaging performance of a document. Are threads used internally to extract them?
How could the images be extracted in parallel effectively without having to read the document completely?
Thank you very much for your help.
Best regards
Beta Was this translation helpful? Give feedback.
All reactions